sig
  type 'a t
  val create : unit -> 'Type.Obj_tbl.t
  val add : 'Type.Obj_tbl.t -> 'Type.ty -> '-> '-> unit
  val find : 'Type.Obj_tbl.t -> 'Type.ty -> '-> 'a
  val mem : 'Type.Obj_tbl.t -> 'Type.ty -> '-> bool
  val iter : 'Type.Obj_tbl.t -> ('Type.ty -> '-> '-> unit) -> unit
end