type name = {text : string;tok : int;
}and binding = {bpat : pat;bparams : param list;bty : ty option;bbody : expr;
}and case = {cpat : pat;guard : expr option;cbody : expr;
}and typedecl = {tname : name;tparams : name list;tmanifest : ty option;tkind : tkind;
}and tkind = | Kabstract| Kvariant of constr list| Krecord of field list| Kopen
and constr = {cname : name;cargs : ty list;crecord : field list;cres : ty option;
}and field = {fname : name;fty : ty;
}type file = {items : item list;skipped : (int * int) list;
}