Type.Union
type ('M, 'T) t = {
types : ('M, 'T) Type.t * ('M, 'T) Type.t * ('M, 'T) Type.t list;
comments : ('M, unit) Syntax.t option;
}