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