Builder'.B
type ext
exception TypeDefinitionError of string
type type_base = TyExpr.base
type type_regexp = ext TyExpr.regexp
type type_expr = ext TyExpr.t
type type_env
type var_type_env
val empty_tenv : type_env
val empty_vtenv : var_type_env
type benv = {
tenv : type_env;
vtenv : var_type_env;
}
val empty_benv : benv
val type_base_to_typ : type_base -> Ty.t
val type_expr_to_typ : benv -> type_expr -> Ty.t * benv
val type_exprs_to_typs : benv -> type_expr list -> Ty.t list * benv
val define_abstract : benv -> string -> int -> benv
val define_aliases : benv -> (string * string list * type_expr) list -> benv
val get_enum : benv -> string -> Enum.t * benv
val get_tag : benv -> string -> Tag.t * benv
val is_test_type : Ty.t -> bool