sig
  type t
  val status : Clock.Event.t -> [ `Aborted | `Happened | `Waiting ]
  val abort :
    Clock.Event.t -> [ `Ok | `Previously_aborted | `Previously_happened ]
end