per some discussions offline, currently
~gap:[@int] [ | [@as 0] #_0 | [@as 1] #_1 | [@as 2 ] #_2 ]
This could be simplified as:
~gap:[@int] [ #0 | #1 | #2]
or we can just encode #"1" as number 1
The problem for encoding #"1" as number 1 is that it still can not handle operations like
flag bits or operations 2 | 4 | 8
If we change the encoding, how do we handle such cases
#"2" (3)
type t = [ #"1" | #"2" | #alpha | #"23_45" ]
Shall we make it more lightweight to not need quote in the syntax?