This sounds pretty interesting to do for funsies. I wonder if / how easy can it be extended to support i18n (eg.: "1_ro", "2_do", "3_ro", "4_to" for Spanish).
Also thanks for not supporting negatvie integers. Trying to do that with UDLs over integers leads to rather annoying "funsies", see StackOverflow and glados-418.