module type SYMBOLS = sig .. end
type terminal('a);
type nonterminal('a);
type 'a symbol =
|
T : 'a0 terminal -> 'a0 symbol
N : 'a1 nonterminal -> 'a1 symbol
type xsymbol =
X : 'a symbol -> xsymbol