`sig type tag type label type table type meth type t type obj type closure val public_method_label : string -> CamlinternalOO.tag val new_method : CamlinternalOO.table -> CamlinternalOO.label val new_variable : CamlinternalOO.table -> string -> int val new_methods_variables : CamlinternalOO.table -> string array -> string array -> CamlinternalOO.label array val get_variable : CamlinternalOO.table -> string -> int val get_variables : CamlinternalOO.table -> string array -> int array val get_method_label : CamlinternalOO.table -> string -> CamlinternalOO.label val get_method_labels : CamlinternalOO.table -> string array -> CamlinternalOO.label array val get_method : CamlinternalOO.table -> CamlinternalOO.label -> CamlinternalOO.meth val set_method : CamlinternalOO.table -> CamlinternalOO.label -> CamlinternalOO.meth -> unit val set_methods : CamlinternalOO.table -> CamlinternalOO.label array -> unit val narrow : CamlinternalOO.table -> string array -> string array -> string array -> unit val widen : CamlinternalOO.table -> unit val add_initializer : CamlinternalOO.table -> (CamlinternalOO.obj -> unit) -> unit val dummy_table : CamlinternalOO.table val create_table : string array -> CamlinternalOO.table val init_class : CamlinternalOO.table -> unit val inherits : CamlinternalOO.table -> string array -> string array -> string array -> CamlinternalOO.t * (CamlinternalOO.table -> CamlinternalOO.obj -> Obj.t) * CamlinternalOO.t * CamlinternalOO.obj -> bool -> Obj.t array val make_class : string array -> (CamlinternalOO.table -> Obj.t -> CamlinternalOO.t) -> CamlinternalOO.t * (CamlinternalOO.table -> Obj.t -> CamlinternalOO.t) * (Obj.t -> CamlinternalOO.t) * Obj.t type init_table val make_class_store : string array -> (CamlinternalOO.table -> CamlinternalOO.t) -> CamlinternalOO.init_table -> unit val dummy_class : string * int * int -> CamlinternalOO.t * (CamlinternalOO.table -> Obj.t -> CamlinternalOO.t) * (Obj.t -> CamlinternalOO.t) * Obj.t val copy : (< .. > as 'a) -> 'a val create_object : CamlinternalOO.table -> CamlinternalOO.obj val create_object_opt : CamlinternalOO.obj -> CamlinternalOO.table -> CamlinternalOO.obj val run_initializers : CamlinternalOO.obj -> CamlinternalOO.table -> unit val run_initializers_opt : CamlinternalOO.obj -> CamlinternalOO.obj -> CamlinternalOO.table -> CamlinternalOO.obj val create_object_and_run_initializers : CamlinternalOO.obj -> CamlinternalOO.table -> CamlinternalOO.obj external send : CamlinternalOO.obj -> CamlinternalOO.tag -> CamlinternalOO.t = "%send" external sendcache : CamlinternalOO.obj -> CamlinternalOO.tag -> CamlinternalOO.t -> int -> CamlinternalOO.t = "%sendcache" external sendself : CamlinternalOO.obj -> CamlinternalOO.label -> CamlinternalOO.t = "%sendself" external get_public_method : CamlinternalOO.obj -> CamlinternalOO.tag -> CamlinternalOO.closure = "caml_get_public_method" [@@noalloc] type tables val lookup_tables : CamlinternalOO.tables -> CamlinternalOO.closure array -> CamlinternalOO.tables type impl = GetConst | GetVar | GetEnv | GetMeth | SetVar | AppConst | AppVar | AppEnv | AppMeth | AppConstConst | AppConstVar | AppConstEnv | AppConstMeth | AppVarConst | AppEnvConst | AppMethConst | MethAppConst | MethAppVar | MethAppEnv | MethAppMeth | SendConst | SendVar | SendEnv | SendMeth | Closure of CamlinternalOO.closure type params = { mutable compact_table : bool; mutable copy_parent : bool; mutable clean_when_copying : bool; mutable retry_count : int; mutable bucket_small_size : int; } val params : CamlinternalOO.params type stats = { classes : int; methods : int; inst_vars : int; } val stats : unit -> CamlinternalOO.stats end`