sig
  type t = { tick : unit Join.chan; wait : unit -> unit; }
  val create : int -> JoinCount.Down.t
end