## Parameters

`module X : Sig.COMPARABLE`

## Signature

`include sig ... end`
`type key = X.t`
`type !'a t = 'a Stdlib__Hashtbl.Make(X).t`
`val clear : 'a t -> unit`
`val reset : 'a t -> unit`
`val copy : 'a t -> 'a t`
`val find_opt : 'a t -> key -> 'a option`
`val find_all : 'a t -> key -> 'a list`
`val replace : 'a t -> key -> 'a -> unit`
`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`
`type 'a return = unit`
`val empty : unit`
`val create_from : 'a t -> 'b t`
`val create : ?size:int -> unit -> 'a t`
`val is_empty : 'a t -> bool`
`val find_and_raise : key -> 'a t -> string -> 'a`
`val map : (key -> 'a -> key * 'b) -> 'a t -> 'b t`
`val add : key -> 'a -> 'a t -> 'a t`
`val remove : key -> 'a t -> 'a t`
`val mem : key -> 'a t -> bool`
`val find : key -> 'a t -> 'a`