sig
val assume : TypeCore.env -> TypeCore.mode_constraint -> TypeCore.env
val analyze_data_types : TypeCore.env -> TypeCore.var list -> TypeCore.env
val has_mode : Mode.mode -> TypeCore.env -> TypeCore.typ -> bool
val is_duplicable : TypeCore.env -> TypeCore.typ -> bool
val is_exclusive : TypeCore.env -> TypeCore.typ -> bool
end