per some discussions offline, currently ``` ~gap:[@int] [ | [@as 0] #_0 | [@as 1] #_1 | [@as 2 ] #_2 ] ``` This could be simplified as: ```res ~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?