sig
  type t = Condition.t
  val create : unit -> t
  val wait : t -> Mutex.t -> unit
  val signal : t -> unit
  val broadcast : t -> unit
end