functor (H : Hashtbl.HashedType) -> sig type key = H.t type t val create : rate:int -> max:int -> n:int -> t val wait : t -> key -> bool Lwt.t end