type builtin =
| TEmpty
| TAny
| TAnyTuple
| TAnyAtom
| TAnyTag
| TAnyInt
| TAnyArrow
| TAnyRecord
| TAnyTupleComp of int
| TAnyTagComp of Sstt_types.TagComp.Tag.t
type binop =
| TCap
| TCup
| TDiff
| TArrow
type ty =
| TBuiltin of builtin
| TNamed of string
| TTag of string * ty
| 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) list
type tally = (ty * op * ty) list
type elt =
| DefineType of string list * expr
| Expr of string option * expr
type command =
| Elt of elt
| End
module StrMap : Stdlib.Map.S with type key = string