sig   type key = T.t   type 'a t = 'Hashtbl.Make(T).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 -> '-> unit   val remove : 'a t -> key -> unit   val find : 'a t -> key -> 'a   val find_all : 'a t -> key -> 'a list   val replace : 'a t -> key -> '-> unit   val mem : 'a t -> key -> bool   val iter : (key -> '-> unit) -> 'a t -> unit   val filter_map_inplace : (key -> '-> 'a option) -> 'a t -> unit   val fold : (key -> '-> '-> 'b) -> 'a t -> '-> 'b   val length : 'a t -> int   val stats : 'a t -> Hashtbl.statistics   val to_list : 'Identifiable.S.t -> (Identifiable.S.T.t * 'a) list   val of_list : (Identifiable.S.T.t * 'a) list -> 'Identifiable.S.t   val to_map : 'Identifiable.S.t -> 'Identifiable.S.Map.t   val of_map : 'Identifiable.S.Map.t -> 'Identifiable.S.t   val memoize : 'Identifiable.S.t -> (key -> 'a) -> key -> 'a   val map : 'Identifiable.S.t -> ('-> 'b) -> 'Identifiable.S.t end