type builtin = | TEmpty| TAny| TAnyTuple| TAnyEnum| TAnyTag| TAnyInt| TAnyArrow| TAnyRecord| TAnyTupleComp of int
type binop = | TCap| TCup| TDiff| TArrow
type ty = | TBuiltin of builtin| TNamed of string| TTag of string * ty option| TVar of string| TVarMono of string| TInterval of Z.t option * Z.t option| TRecord of (string * ty * bool) list * bool| TVarop of varop * ty list| TBinop of binop * ty * ty| TUnop of unop * ty| TWhere of ty * (string * ty) list
type subst = (bool * string * ty) listtype tally = (ty * op * ty) listtype tag_prop = | PNone| PMono| PAnd| POr| PId
type def = | DAtom of string| DTag of string * tag_prop
type elt = | DefineAlias of string list * expr| Define of def list| Expr of string option * expr
type command = | Elt of elt| End
module StrMap : Stdlib.Map.S with type key = string