val sexp_of_t : ('a -> Ppx_sexp_conv_lib.Sexp.t) -> ('h -> Ppx_sexp_conv_lib.Sexp.t) -> ('a, 'h) t -> Ppx_sexp_conv_lib.Sexp.t
type t_unit = (unit, unit) t
val sexp_of_t_unit : t_unit -> Ppx_sexp_conv_lib.Sexp.t
include Core_kernel.Invariant.S2 with type ('a, 'b) t := ('a, 'b) t
val invariant : ('a -> unit) -> ('b -> unit) -> ('a, 'b) t -> unit
module Status : sig ... end
val run_after : Time.Span.t -> ('z -> 'h) -> 'z -> (_, 'h) t
module Abort_result = Async_kernel.Time_source.Event.Abort_result
val abort : ('a, 'h) t -> 'a -> ('a, 'h) Abort_result.t
val abort_exn : ('a, 'h) t -> 'a -> unit
val abort_if_possible : ('a, _) t -> 'a -> unit
module Fired = Async_kernel.Time_source.Event.Fired
module Reschedule_result = Async_kernel.Time_source.Event.Reschedule_result
val reschedule_at : ('a, 'h) t -> Time.t -> ('a, 'h) Reschedule_result.t
val reschedule_after : ('a, 'h) t -> Time.Span.t -> ('a, 'h) Reschedule_result.t
val after : Time.Span.t -> (_, unit) t