sig
  type t
  val create : unit -> Lwt_condition.t
  val wait : Lwt_condition.t -> Lwt_mutex.t -> unit Lwt.t
  val signal : Lwt_condition.t -> unit
  val broadcast : Lwt_condition.t -> unit
end