sig
type t
type 'a condition
val create_condition : unit -> 'a Lwt_monitor.condition
val create : unit -> Lwt_monitor.t
val lock : Lwt_monitor.t -> unit Lwt.t
val unlock : Lwt_monitor.t -> unit
val with_lock : Lwt_monitor.t -> (unit -> 'a Lwt.t) -> 'a Lwt.t
val wait : Lwt_monitor.t -> 'a Lwt_monitor.condition -> 'a Lwt.t
val notify : Lwt_monitor.t -> 'a Lwt_monitor.condition -> 'a -> unit
val notify_all : Lwt_monitor.t -> 'a Lwt_monitor.condition -> 'a -> unit
end