sig
  type 'a t
  val create : unit -> 'Lwt_queue.t
  val is_empty : 'Lwt_queue.t -> bool
  val push : 'Lwt_queue.t -> '-> unit
  val pop : 'Lwt_queue.t -> 'Lwt.t
  val clear : 'Lwt_queue.t -> unit
end