    functor (H : HashedType) ->
      sig
        type key = H.t
        and 'a t
        val create : int -> 'a MoreLabels.Hashtbl.S.t
        val clear : 'a MoreLabels.Hashtbl.S.t -> unit
        val copy : 'a MoreLabels.Hashtbl.S.t -> 'a MoreLabels.Hashtbl.S.t
        val add :
          'a MoreLabels.Hashtbl.S.t ->
          key:MoreLabels.Hashtbl.S.key -> data:'a -> unit
        val remove :
          'a MoreLabels.Hashtbl.S.t -> MoreLabels.Hashtbl.S.key -> unit
        val find : 'a MoreLabels.Hashtbl.S.t -> MoreLabels.Hashtbl.S.key -> 'a
        val find_all :
          'a MoreLabels.Hashtbl.S.t -> MoreLabels.Hashtbl.S.key -> 'a list
        val replace :
          'a MoreLabels.Hashtbl.S.t ->
          key:MoreLabels.Hashtbl.S.key -> data:'a -> unit
        val mem : 'a MoreLabels.Hashtbl.S.t -> MoreLabels.Hashtbl.S.key -> bool
        val iter :
          f:(key:MoreLabels.Hashtbl.S.key -> data:'a -> unit) ->
          'a MoreLabels.Hashtbl.S.t -> unit
        val fold :
          f:(key:MoreLabels.Hashtbl.S.key -> data:'a -> 'b -> 'b) ->
          'a MoreLabels.Hashtbl.S.t -> init:'b -> 'b
      end