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 :
    ('a -> Sexplib.Sexp.t) -> 'a Ivar.Deferred.t -> Sexplib.Sexp.t
end