sig
  type +'a t
  val of_raw : ('a, Execution_context.t) Raw_deferred.t -> 'a t
  val to_raw : 'a t -> ('a, Execution_context.t) Raw_deferred.t
  val sexp_of_t :
    ('-> Sexplib.Sexp.t) -> 'Ivar.Deferred.t -> Sexplib.Sexp.t
end