sig
  type key
  type 'a t
  val create : int -> 'Datatype.HASHTBL.t
  val iter :
    (Datatype.HASHTBL.key -> '-> unit) -> 'Datatype.HASHTBL.t -> unit
  val fold :
    (Datatype.HASHTBL.key -> '-> '-> 'b) ->
    'Datatype.HASHTBL.t -> '-> 'b
  val add : 'Datatype.HASHTBL.t -> Datatype.HASHTBL.key -> '-> unit
  val replace : 'Datatype.HASHTBL.t -> Datatype.HASHTBL.key -> '-> unit
  val length : 'Datatype.HASHTBL.t -> int
  val find_all : 'Datatype.HASHTBL.t -> Datatype.HASHTBL.key -> 'a list
end