sig
  type monitor
  val create_monitor : Unixqueue.event_system -> Uq_mt.monitor
  val monitor_run :
    Uq_mt.monitor ->
    (Unixqueue.event_system -> 'a -> 'b Uq_engines.engine) -> 'a -> 'b
  val monitor_do : Uq_mt.monitor -> ('a -> 'b) -> 'a -> 'b
  val monitor_async :
    Uq_mt.monitor -> ('a -> ((unit -> 'b) -> unit) -> unit) -> 'a -> 'b
end