module Raw_deferred: sig .. end
type (+'a, 'execution_context) t
type ('a, 'execution_context) deferred = ('a, 'execution_context) t
val of_ivar : ('a, 'execution_context) Raw_ivar.t ->
('a, 'execution_context) t
val peek : ('a, 'b) t -> 'a option
module Scheduler_dependent: functor (Scheduler : Import.Basic_scheduler) -> functor (Deferred : Raw
with type execution_context := Scheduler.Execution_context.t
with type ('a, 'execution_context) raw := ('a, 'execution_context) t) -> functor (Ivar : Raw
with type execution_context := Scheduler.Execution_context.t
with type ('a, 'execution_context) raw := ('a, 'execution_context) Raw_ivar.t) -> sig .. end
val sexp_of_t : ('a -> Sexplib.Sexp.t) ->
('execution_context -> Sexplib.Sexp.t) ->
('a, 'execution_context) t -> Sexplib.Sexp.t