$ cat parser.mly %token INT %start <[> `Got_int]> main %% main: INT {`Got_int} $ menhir parser.mly File "parser.mly", line 2, characters 11-11: Error: unexpected character(s). If I make the type exact [`Got_int], it works fine. Is there any way to get around this? I need an open type.