Util_lwt.Watch
type watch_t := unit Lwt.t
type cond_t := unit Lwt_condition.t
type watcher := (cond_t * watch_t) list
type 'a t = ('a, watcher) BatMap.t
val mk : unit -> 'a t
val wait : 'a -> 'a t -> watch_t * 'a t
val notify : 'a -> 'a t -> [ `No_watchers of 'a | `Ok of int ]