Subst
val identity : t
val add_type_function : Path.t -> params:Types.type_expr list -> body:Types.type_expr -> t -> t
val add_modtype : Ident.t -> Types.module_type -> t -> t
val type_expr : t -> Types.type_expr -> Types.type_expr
val class_type : t -> Types.class_type -> Types.class_type
val value_description : t -> Types.value_description -> Types.value_description
val type_declaration : t -> Types.type_declaration -> Types.type_declaration
val extension_constructor : t -> Types.extension_constructor -> Types.extension_constructor
val class_declaration : t -> Types.class_declaration -> Types.class_declaration
val cltype_declaration : t -> Types.class_type_declaration -> Types.class_type_declaration
val modtype : scoping -> t -> Types.module_type -> Types.module_type
val signature : scoping -> t -> Types.signature -> Types.signature
val signature_item : scoping -> t -> Types.signature_item -> Types.signature_item
val modtype_declaration : scoping -> t -> Types.modtype_declaration -> Types.modtype_declaration
val module_declaration : scoping -> t -> Types.module_declaration -> Types.module_declaration
val ctype_apply_env_empty : (Types.type_expr list -> Types.type_expr -> Types.type_expr list -> Types.type_expr) ref