sig
  type t
  type trigger = Tick.WATCHER_FUN.t -> unit
  type span_ns = int64
  val watch : delay_ns:span_ns -> trigger -> t
  val unwatch : t -> unit
  val waiting : t -> bool
  val linger_ns : t -> span_ns
  val delay_ns : t -> span_ns
  val trigger : t -> trigger
  val fold : ('-> t -> 'a) -> '-> 'a
end