sig   type tag = CamlinternalOO.tag   type label = CamlinternalOO.label   type table = CamlinternalOO.table   type meth = CamlinternalOO.meth   type t = CamlinternalOO.t   type obj = CamlinternalOO.obj   type closure = CamlinternalOO.closure   val public_method_label : string -> BatOo.Internal.tag   val new_method : BatOo.Internal.table -> BatOo.Internal.label   val new_variable : BatOo.Internal.table -> string -> int   val new_methods_variables :     BatOo.Internal.table ->     string array -> string array -> BatOo.Internal.label array   val get_variable : BatOo.Internal.table -> string -> int   val get_variables : BatOo.Internal.table -> string array -> int array   val get_method_label :     BatOo.Internal.table -> string -> BatOo.Internal.label   val get_method_labels :     BatOo.Internal.table -> string array -> BatOo.Internal.label array   val get_method :     BatOo.Internal.table -> BatOo.Internal.label -> BatOo.Internal.meth   val set_method :     BatOo.Internal.table ->     BatOo.Internal.label -> BatOo.Internal.meth -> unit   val set_methods :     BatOo.Internal.table -> BatOo.Internal.label array -> unit   val narrow :     BatOo.Internal.table ->     string array -> string array -> string array -> unit   val widen : BatOo.Internal.table -> unit   val add_initializer :     BatOo.Internal.table -> (BatOo.Internal.obj -> unit) -> unit   val dummy_table : BatOo.Internal.table   val create_table : string array -> BatOo.Internal.table   val init_class : BatOo.Internal.table -> unit   val inherits :     BatOo.Internal.table ->     string array ->     string array ->     string array ->     BatOo.Internal.t *     (BatOo.Internal.table -> BatOo.Internal.obj -> Obj.t) *     BatOo.Internal.t * BatOo.Internal.obj -> bool -> Obj.t array   val make_class :     string array ->     (BatOo.Internal.table -> Obj.t -> BatOo.Internal.t) ->     BatOo.Internal.t * (BatOo.Internal.table -> Obj.t -> BatOo.Internal.t) *     (Obj.t -> BatOo.Internal.t) * Obj.t   type init_table = CamlinternalOO.init_table   val make_class_store :     string array ->     (BatOo.Internal.table -> BatOo.Internal.t) ->     BatOo.Internal.init_table -> unit   val dummy_class :     string * int * int ->     BatOo.Internal.t * (BatOo.Internal.table -> Obj.t -> BatOo.Internal.t) *     (Obj.t -> BatOo.Internal.t) * Obj.t   val copy : (< .. > as 'a) -> 'a   val create_object : BatOo.Internal.table -> BatOo.Internal.obj   val create_object_opt :     BatOo.Internal.obj -> BatOo.Internal.table -> BatOo.Internal.obj   val run_initializers : BatOo.Internal.obj -> BatOo.Internal.table -> unit   val run_initializers_opt :     BatOo.Internal.obj ->     BatOo.Internal.obj -> BatOo.Internal.table -> BatOo.Internal.obj   val create_object_and_run_initializers :     BatOo.Internal.obj -> BatOo.Internal.table -> BatOo.Internal.obj   external send :     BatOo.Internal.obj -> BatOo.Internal.tag -> BatOo.Internal.t = "%send"   external sendcache :     BatOo.Internal.obj ->     BatOo.Internal.tag -> BatOo.Internal.t -> int -> BatOo.Internal.t     = "%sendcache"   external sendself :     BatOo.Internal.obj -> BatOo.Internal.label -> BatOo.Internal.t     = "%sendself"   external get_public_method :     BatOo.Internal.obj -> BatOo.Internal.tag -> BatOo.Internal.closure     = "caml_get_public_method" [@@noalloc]   type tables = CamlinternalOO.tables   val lookup_tables :     BatOo.Internal.tables ->     BatOo.Internal.closure array -> BatOo.Internal.tables   type impl =     CamlinternalOO.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 BatOo.Internal.closure   type params =     CamlinternalOO.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 : BatOo.Internal.params   type stats =     CamlinternalOO.stats = {     classes : int;     methods : int;     inst_vars : int;   }   val stats : unit -> BatOo.Internal.stats end