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