module TypeSet : sig ... endmodule TransientTypeMap : Map.S with type key = Types.transient_exprmodule TypeMap : sig ... endmodule TypeHash : sig ... endmodule TypePairs : sig ... endval newgenty : Types.type_desc -> Types.type_exprval newgenvar : ?name:string -> unit -> Types.type_exprval newgenstub : scope:int -> Types.type_exprval is_Tvar : Types.type_expr -> boolval is_Tunivar : Types.type_expr -> boolval is_Tconstr : Types.type_expr -> boolval dummy_method : Asttypes.labelval type_kind_is_abstract : Types.type_declaration -> boolval type_origin : Types.type_declaration -> Types.type_originval is_fixed : Types.row_desc -> boolval has_fixed_explanation : Types.row_desc -> boolval fixed_explanation : Types.row_desc -> Types.fixed_explanation optionval merge_fixed_explanation : 
  Types.fixed_explanation option ->
  Types.fixed_explanation option ->
  Types.fixed_explanation optionval static_row : Types.row_desc -> boolval hash_variant : Asttypes.label -> intval proxy : Types.type_expr -> Types.type_exprval row_of_type : Types.type_expr -> Types.type_exprval has_constr_row : Types.type_expr -> boolval is_constr_row : allow_ident:bool -> Types.type_expr -> boolval set_static_row_name : Types.type_declaration -> Path.t -> unitval iter_type_expr : (Types.type_expr -> unit) -> Types.type_expr -> unitval fold_type_expr : 
  ('a -> Types.type_expr -> 'a) ->
  'a ->
  Types.type_expr ->
  'aval iter_row : (Types.type_expr -> unit) -> Types.row_desc -> unitval fold_row : ('a -> Types.type_expr -> 'a) -> 'a -> Types.row_desc -> 'aval iter_abbrev : (Types.type_expr -> unit) -> Types.abbrev_memo -> unitval iter_type_expr_kind : 
  (Types.type_expr -> unit) ->
  Types.type_decl_kind ->
  unitval iter_type_expr_cstr_args : 
  (Types.type_expr -> unit) ->
  Types.constructor_arguments ->
  unitval map_type_expr_cstr_args : 
  (Types.type_expr -> Types.type_expr) ->
  Types.constructor_arguments ->
  Types.constructor_argumentstype type_iterators = {- it_signature : type_iterators -> Types.signature -> unit;
- it_signature_item : type_iterators -> Types.signature_item -> unit;
- it_value_description : type_iterators -> Types.value_description -> unit;
- it_type_declaration : type_iterators -> Types.type_declaration -> unit;
- it_extension_constructor : type_iterators -> Types.extension_constructor -> unit;
- it_module_declaration : type_iterators -> Types.module_declaration -> unit;
- it_modtype_declaration : type_iterators -> Types.modtype_declaration -> unit;
- it_class_declaration : type_iterators -> Types.class_declaration -> unit;
- it_class_type_declaration : type_iterators -> Types.class_type_declaration -> unit;
- it_functor_param : type_iterators -> Types.functor_parameter -> unit;
- it_module_type : type_iterators -> Types.module_type -> unit;
- it_class_type : type_iterators -> Types.class_type -> unit;
- it_type_kind : type_iterators -> Types.type_decl_kind -> unit;
- it_do_type_expr : type_iterators -> Types.type_expr -> unit;
- it_type_expr : type_iterators -> Types.type_expr -> unit;
- it_path : Path.t -> unit;
}val type_iterators : type_iteratorsval unmark_iterators : type_iteratorsval copy_type_desc : 
  ?keep_names:bool ->
  (Types.type_expr -> Types.type_expr) ->
  Types.type_desc ->
  Types.type_descval copy_row : 
  (Types.type_expr -> Types.type_expr) ->
  bool ->
  Types.row_desc ->
  bool ->
  Types.type_expr ->
  Types.row_descmodule For_copy : sig ... endval not_marked_node : Types.type_expr -> boolval logged_mark_node : Types.type_expr -> unitval try_logged_mark_node : Types.type_expr -> boolval flip_mark_node : Types.type_expr -> unitval try_mark_node : Types.type_expr -> boolval mark_type : Types.type_expr -> unitval mark_type_params : Types.type_expr -> unitval unmark_type : Types.type_expr -> unitval unmark_type_decl : Types.type_declaration -> unitval unmark_extension_constructor : Types.extension_constructor -> unitval unmark_class_type : Types.class_type -> unitval unmark_class_signature : Types.class_signature -> unitval find_expans : 
  Asttypes.private_flag ->
  Path.t ->
  Types.abbrev_memo ->
  Types.type_expr optionval memorize_abbrev : 
  Types.abbrev_memo ref ->
  Asttypes.private_flag ->
  Path.t ->
  Types.type_expr ->
  Types.type_expr ->
  unitval forget_abbrev : Types.abbrev_memo ref -> Path.t -> unitval snapshot : unit -> Types.snapshotval backtrack : Types.snapshot -> unitval is_optional : Asttypes.arg_label -> boolval label_name : Asttypes.arg_label -> Asttypes.labelval prefixed_label_name : Asttypes.arg_label -> Asttypes.labelval extract_label : 
  Asttypes.label ->
  (Asttypes.arg_label * 'a) list ->
  (Asttypes.arg_label * 'a * bool * (Asttypes.arg_label * 'a) list) optionval signature_of_class_type : Types.class_type -> Types.class_signatureval class_body : Types.class_type -> Types.class_typeval scrape_class_type : Types.class_type -> Types.class_typeval class_type_arity : Types.class_type -> intval abbreviate_class_type : 
  Path.t ->
  Types.type_expr list ->
  Types.class_type ->
  Types.class_typeval self_type : Types.class_type -> Types.type_exprval self_type_row : Types.class_type -> Types.type_exprval methods : Types.class_signature -> string listval virtual_methods : Types.class_signature -> string listval concrete_methods : Types.class_signature -> Types.MethSet.tval public_methods : Types.class_signature -> string listval instance_vars : Types.class_signature -> string listval virtual_instance_vars : Types.class_signature -> string listval concrete_instance_vars : Types.class_signature -> Types.VarSet.tval method_type : Asttypes.label -> Types.class_signature -> Types.type_exprval instance_variable_type : 
  Asttypes.label ->
  Types.class_signature ->
  Types.type_exprval print_raw : (Format.formatter -> Types.type_expr -> unit) refval cstr_type_path : Types.constructor_description -> Path.t
