Module type Hashtbl.Hashtbl_generalised

The most general hashtable signature, supporting the four specialisations below.

We have three types (t, key and value) and three type variables:

type ('k, 'v) t
type ('k, 'a) key
type ('v, 'a) value
val create : int -> (__) t
val replace : ('k'v) t -> ('k'a) key -> ('v'a) value -> unit
val remove : ('k_) t -> ('k_) key -> unit
val find_opt : ('k'v) t -> ('k'a) key -> ('v'a) value option