Type describing which arguments of an inclusion to consider as used for the usage warnings. Mark_both is the default.
module Error : sig ... endval kind_of_field_desc : field_desc -> stringval field_desc : field_kind -> Ident.t -> field_descmodule FieldMap : Map.S with type key = field_descMap indexed by both field types and names. This avoids name clashes between different sorts of fields such as values and types.
val item_ident_name : Types.signature_item -> Ident.t * Location.t * field_descval is_runtime_component : Types.signature_item -> boolval modtypes : 
  loc:Location.t ->
  Env.t ->
  mark:mark ->
  Types.module_type ->
  Types.module_type ->
  Typedtree.module_coercionval modtypes_with_shape : 
  shape:Shape.t ->
  loc:Location.t ->
  Env.t ->
  mark:mark ->
  Types.module_type ->
  Types.module_type ->
  Typedtree.module_coercion * Shape.tval strengthened_module_decl : 
  loc:Location.t ->
  aliasable:bool ->
  Env.t ->
  mark:mark ->
  Types.module_declaration ->
  Path.t ->
  Types.module_declaration ->
  Typedtree.module_coercionval check_modtype_inclusion : 
  loc:Location.t ->
  Env.t ->
  Types.module_type ->
  Path.t ->
  Types.module_type ->
  explanation optioncheck_modtype_inclusion ~loc env mty1 path1 mty2 checks that the functor application F(M) is well typed, where mty2 is the type of the argument of F and path1/mty1 is the path/unstrenghened type of M.
val check_modtype_equiv : 
  loc:Location.t ->
  Env.t ->
  Ident.t ->
  Types.module_type ->
  Types.module_type ->
  unitval signatures : 
  Env.t ->
  mark:mark ->
  Types.signature ->
  Types.signature ->
  Typedtree.module_coercionval compunit : 
  Env.t ->
  mark:mark ->
  string ->
  Types.signature ->
  string ->
  Types.signature ->
  Shape.t ->
  Typedtree.module_coercion * Shape.tval type_declarations : 
  loc:Location.t ->
  Env.t ->
  mark:mark ->
  Ident.t ->
  Types.type_declaration ->
  Types.type_declaration ->
  unitval print_coercion : Format.formatter -> Typedtree.module_coercion -> unittype symptom = - | Missing_field of Ident.t * Location.t * string
- | Value_descriptions of Ident.t * Types.value_description * Types.value_description * Includecore.value_mismatch
- | Type_declarations of Ident.t * Types.type_declaration * Types.type_declaration * Includecore.type_mismatch
- | Extension_constructors of Ident.t * Types.extension_constructor * Types.extension_constructor * Includecore.extension_constructor_mismatch
- | Module_types of Types.module_type * Types.module_type
- | Modtype_infos of Ident.t * Types.modtype_declaration * Types.modtype_declaration
- | Modtype_permutation of Types.module_type * Typedtree.module_coercion
- | Interface_mismatch of string * string
- | Class_type_declarations of Ident.t * Types.class_type_declaration * Types.class_type_declaration * Ctype.class_match_failure list
- | Class_declarations of Ident.t * Types.class_declaration * Types.class_declaration * Ctype.class_match_failure list
- | Unbound_module_path of Path.t
- | Invalid_module_alias of Path.t
type pos = - | Module of Ident.t
- | Modtype of Ident.t
- | Arg of Types.functor_parameter
- | Body of Types.functor_parameter
exception Error of explanationtype application_name = - | Anonymous_functor(*
 *)- (functor (_:sig end) -> struct end)(Int)
- | Full_application_path of Longident.t(*
 *)- F(G(X).P)(Y)
- | Named_leftmost_functor of Longident.t(*
 *)- F(struct end)...(...)
exception Apply_error of {- loc : Location.t;
- env : Env.t;
- app_name : application_name;
- mty_f : Types.module_type;
- args : (Error.functor_arg_descr * Types.module_type) list;
}val expand_module_alias : 
  strengthen:bool ->
  Env.t ->
  Path.t ->
  Types.module_typemodule Functor_inclusion_diff : sig ... endmodule Functor_app_diff : sig ... end
