`include module type of struct include Stdlib.Hashtbl end`
`type (!'a, !'b) t = ('a, 'b) Stdlib__Hashtbl.t`
`val clear : ('a, 'b) t -> unit`
`val reset : ('a, 'b) t -> unit`
`val copy : ('a, 'b) t -> ('a, 'b) t`
`val add : ('a, 'b) t -> 'a -> 'b -> unit`
`val find : ('a, 'b) t -> 'a -> 'b`
`val find_opt : ('a, 'b) t -> 'a -> 'b option`
`val find_all : ('a, 'b) t -> 'a -> 'b list`
`val mem : ('a, 'b) t -> 'a -> bool`
`val remove : ('a, 'b) t -> 'a -> unit`
`val replace : ('a, 'b) t -> 'a -> 'b -> unit`
`val iter : ('a -> 'b -> unit) -> ('a, 'b) t -> unit`
`val filter_map_inplace : ('a -> 'b -> 'b option) -> ('a, 'b) t -> unit`
`val fold : ('a -> 'b -> 'acc -> 'acc) -> ('a, 'b) t -> 'acc -> 'acc`
`val length : ('a, 'b) t -> int`
`val randomize : unit -> unit`
`val is_randomized : unit -> bool`
`val rebuild : ?random:bool -> ('a, 'b) t -> ('a, 'b) t`
`type statistics = Stdlib__Hashtbl.statistics = {`

1. `num_bindings : int;`
2. `num_buckets : int;`
3. `max_bucket_length : int;`
4. `bucket_histogram : int array;`

`}`
`val stats : ('a, 'b) t -> statistics`
`val to_seq : ('a, 'b) t -> ('a * 'b) Stdlib.Seq.t`
`val to_seq_keys : ('a, 'b) t -> 'a Stdlib.Seq.t`
`val to_seq_values : ('a, 'b) t -> 'b Stdlib.Seq.t`
`val add_seq : ('a, 'b) t -> ('a * 'b) Stdlib.Seq.t -> unit`
`val replace_seq : ('a, 'b) t -> ('a * 'b) Stdlib.Seq.t -> unit`
`module type HashedType = sig ... end`
`module type S = sig ... end`
`module Make : sig ... end`
`module type SeededHashedType = sig ... end`
`module type SeededS = sig ... end`
`module MakeSeeded : sig ... end`
`val hash : 'a -> int`
`val seeded_hash : int -> 'a -> int`
`val hash_param : int -> int -> 'a -> int`
`val seeded_hash_param : int -> int -> int -> 'a -> int`
`val create : ?random:bool -> int -> ('a, 'b) Stdlib.Hashtbl.t`
`val of_seq : ('a * 'b) Stdlib.Seq.t -> ('a, 'b) Stdlib.Hashtbl.t`