sig
  type type_id
  val dummy_type_id : Bi_share.type_id
  val create_type_id : unit -> Bi_share.type_id
  module Wr :
    sig
      type tbl
      val create : int -> Bi_share.Wr.tbl
      val clear : Bi_share.Wr.tbl -> unit
      val put : Bi_share.Wr.tbl -> 'a * Bi_share.type_id -> int -> int
    end
  module Rd :
    sig
      type tbl
      val create : int -> Bi_share.Rd.tbl
      val clear : Bi_share.Rd.tbl -> unit
      val put : Bi_share.Rd.tbl -> int * Bi_share.type_id -> Obj.t -> unit
      val get : Bi_share.Rd.tbl -> int * Bi_share.type_id -> Obj.t
    end
end