type t(!'a) = Stdlib.Hashtbl.Make(T).t('a);let create: int => t('a);let clear: t('a) => unit;let reset: t('a) => unit;let copy: t('a) => t('a);let add: t('a) => key => 'a => unit;let remove: t('a) => key => unit;let find: t('a) => key => 'a;let find_opt: t('a) => key => option('a);let find_all: t('a) => key => list('a);let replace: t('a) => key => 'a => unit;let mem: t('a) => key => bool;let iter: (key => 'a => unit) => t('a) => unit;let filter_map_inplace: (key => 'a => option('a)) => t('a) => unit;let fold: (key => 'a => 'acc => 'acc) => t('a) => 'acc => 'acc;let length: t('a) => int;let stats: t('a) => Stdlib__Hashtbl.statistics;let to_seq: t('a) => Stdlib.Seq.t((key, 'a));let to_seq_keys: t('a) => Stdlib.Seq.t(key);let to_seq_values: t('a) => Stdlib.Seq.t('a);let add_seq: t('a) => Stdlib.Seq.t((key, 'a)) => unit;let replace_seq: t('a) => Stdlib.Seq.t((key, 'a)) => unit;let of_seq: Stdlib.Seq.t((key, 'a)) => t('a);let to_list: t('a) => list((T.t, 'a));let of_list: list((T.t, 'a)) => t('a);let to_map: t('a) => Stdlib.Map.Make(T).t('a);let of_map: Stdlib.Map.Make(T).t('a) => t('a);let memoize: t('a) => (key => 'a) => key => 'a;let map: t('a) => ('a => 'b) => t('b);