Module Ctype
exception Tags of Asttypes.label * Asttypes.label
exception Cannot_expand
exception Cannot_apply
exception Recursive_abbrev
val init_def : int -> unit
val begin_def : unit -> unit
val end_def : unit -> unit
val begin_class_def : unit -> unit
val raise_nongen_level : unit -> unit
val reset_global_level : unit -> unit
val increase_global_level : unit -> int
val restore_global_level : int -> unit
val associate_fields : (string * Types.field_kind * Types.type_expr) list -> (string * Types.field_kind * Types.type_expr) list -> ((string * Types.field_kind * Types.type_expr * Types.field_kind * Types.type_expr) list * (string * Types.field_kind * Types.type_expr) list * (string * Types.field_kind * Types.type_expr) list)
val instance_constructor : ?in_pattern:(Env.t Pervasives.ref * int) -> Types.constructor_description -> (Types.type_expr list * Types.type_expr)
val instance_class : Types.type_expr list -> Types.class_type -> (Types.type_expr list * Types.class_type)
type class_match_failure =
| CM_Virtual_class
| CM_Parameter_arity_mismatch of int * int
| CM_Non_mutable_value of string
| CM_Non_concrete_value of string
| CM_Missing_value of string
| CM_Missing_method of string
| CM_Hide_public of string
| CM_Hide_virtual of string * string
| CM_Public_method of string
| CM_Private_method of string
| CM_Virtual_method of string
val match_class_types : ?trace:bool -> Env.t -> Types.class_type -> Types.class_type -> class_match_failure list
val match_class_declarations : Env.t -> Types.type_expr list -> Types.class_type -> Types.type_expr list -> Types.class_type -> class_match_failure list
val nondep_type_decl : Env.t -> Ident.t -> Ident.t -> bool -> Types.type_declaration -> Types.type_declaration
val nondep_extension_constructor : Env.t -> Ident.t -> Types.extension_constructor -> Types.extension_constructor
val nondep_class_declaration : Env.t -> Ident.t -> Types.class_declaration -> Types.class_declaration
val nondep_cltype_declaration : Env.t -> Ident.t -> Types.class_type_declaration -> Types.class_type_declaration
val get_current_level : unit -> int