sig
  type ('a, 'b) t
  val create : int -> ('a, 'b) Data.Hashtbl.t
  val get : ('a, 'b) Data.Hashtbl.t -> ('a, 'b) Hashtbl.t
  val add : ('a, 'b) Data.Hashtbl.t -> '-> '-> unit
  val find : ('a, 'b) Data.Hashtbl.t -> '-> 'b
  val mem : ('a, 'b) Data.Hashtbl.t -> '-> bool
  val remove : ('a, 'b) Data.Hashtbl.t -> '-> unit
  val replace : ('a, 'b) Data.Hashtbl.t -> '-> '-> unit
  val iter : ('-> '-> unit) -> ('a, 'b) Data.Hashtbl.t -> unit
  val fold : ('-> '-> '-> 'c) -> ('a, 'b) Data.Hashtbl.t -> '-> 'c
end