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