sig   type key = T.t   type 'a t = 'a 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 -> 'a -> 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 -> '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 -> 'b -> 'b) -> 'a t -> 'b -> 'b   val length : 'a t -> int   val stats : 'a t -> Hashtbl.statistics   val to_list : 'a Identifiable.S.t -> (Identifiable.S.T.t * 'a) list   val of_list : (Identifiable.S.T.t * 'a) list -> 'a Identifiable.S.t   val to_map : 'a Identifiable.S.t -> 'a Identifiable.S.Map.t   val of_map : 'a Identifiable.S.Map.t -> 'a Identifiable.S.t   val memoize : 'a Identifiable.S.t -> (key -> 'a) -> key -> 'a   val map : 'a Identifiable.S.t -> ('a -> 'b) -> 'b Identifiable.S.t end