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