sig
  type key
  type !'a t
  val create : int -> 'MoreLabels.Hashtbl.S.t
  val clear : 'MoreLabels.Hashtbl.S.t -> unit
  val reset : 'MoreLabels.Hashtbl.S.t -> unit
  val copy : 'MoreLabels.Hashtbl.S.t -> 'MoreLabels.Hashtbl.S.t
  val add 
    'MoreLabels.Hashtbl.S.t ->
    key:MoreLabels.Hashtbl.S.key -> data:'-> unit
  val remove : 'MoreLabels.Hashtbl.S.t -> MoreLabels.Hashtbl.S.key -> unit
  val find : 'MoreLabels.Hashtbl.S.t -> MoreLabels.Hashtbl.S.key -> 'a
  val find_opt 
    'MoreLabels.Hashtbl.S.t -> MoreLabels.Hashtbl.S.key -> 'a option
  val find_all 
    'MoreLabels.Hashtbl.S.t -> MoreLabels.Hashtbl.S.key -> 'a list
  val replace 
    'MoreLabels.Hashtbl.S.t ->
    key:MoreLabels.Hashtbl.S.key -> data:'-> unit
  val mem : 'MoreLabels.Hashtbl.S.t -> MoreLabels.Hashtbl.S.key -> bool
  val iter 
    f:(key:MoreLabels.Hashtbl.S.key -> data:'-> unit) ->
    'MoreLabels.Hashtbl.S.t -> unit
  val filter_map_inplace 
    f:(key:MoreLabels.Hashtbl.S.key -> data:'-> 'a option) ->
    'MoreLabels.Hashtbl.S.t -> unit
  val fold 
    f:(key:MoreLabels.Hashtbl.S.key -> data:'-> 'acc -> 'acc) ->
    'MoreLabels.Hashtbl.S.t -> init:'acc -> 'acc
  val length : 'MoreLabels.Hashtbl.S.t -> int
  val stats : 'MoreLabels.Hashtbl.S.t -> MoreLabels.Hashtbl.statistics
  val to_seq 
    'MoreLabels.Hashtbl.S.t -> (MoreLabels.Hashtbl.S.key * 'a) Stdlib.Seq.t
  val to_seq_keys 
    'MoreLabels.Hashtbl.S.t -> MoreLabels.Hashtbl.S.key Stdlib.Seq.t
  val to_seq_values : 'MoreLabels.Hashtbl.S.t -> 'Stdlib.Seq.t
  val add_seq 
    'MoreLabels.Hashtbl.S.t ->
    (MoreLabels.Hashtbl.S.key * 'a) Stdlib.Seq.t -> unit
  val replace_seq 
    'MoreLabels.Hashtbl.S.t ->
    (MoreLabels.Hashtbl.S.key * 'a) Stdlib.Seq.t -> unit
  val of_seq 
    (MoreLabels.Hashtbl.S.key * 'a) Stdlib.Seq.t -> 'MoreLabels.Hashtbl.S.t
end