module type S = sig .. end
sig
end
type elt
type t
val create : unit -> t
unit -> t
val add : elt -> t -> unit
elt -> t -> unit
val take : ?timeout:float -> t -> elt Lwt.t
?timeout:float -> t -> elt Lwt.t
val size : t -> int
t -> int
val fold : ('a -> elt -> 'a) -> 'a -> t -> 'a
('a -> elt -> 'a) -> 'a -> t -> 'a