`type key = string`
`type !'a t`
`val create : int -> 'a t`
`val clear : 'a t -> unit`
`val reset : 'a t -> unit`
`val copy : 'a t -> 'a t`
`val add : 'a t -> key -> 'a -> unit`
`val remove : 'a t -> key -> unit`
`val find : 'a t -> key -> 'a`
`val find_opt : 'a t -> key -> 'a option`
`val find_all : 'a t -> key -> 'a list`
`val replace : 'a t -> key -> 'a -> unit`
`val mem : 'a t -> key -> bool`
`val iter : (key -> 'a -> unit) -> 'a t -> unit`
`val filter_map_inplace : (key -> 'a -> 'a option) -> 'a t -> unit`
`val fold : (key -> 'a -> 'acc -> 'acc) -> 'a t -> 'acc -> 'acc`
`val length : 'a t -> int`
`val stats : 'a t -> Stdlib__Hashtbl.statistics`
`val to_seq : 'a t -> (key * 'a) Stdlib.Seq.t`
`val to_seq_keys : 'a t -> key Stdlib.Seq.t`
`val to_seq_values : 'a t -> 'a Stdlib.Seq.t`
`val add_seq : 'a t -> (key * 'a) Stdlib.Seq.t -> unit`
`val replace_seq : 'a t -> (key * 'a) Stdlib.Seq.t -> unit`
`val of_seq : (key * 'a) Stdlib.Seq.t -> 'a t`