functor (Scheduler : Import.Basic_scheduler->
  sig
    type 'a t = ('a, Scheduler.Execution_context.t) Raw_ivar.ivar
    val sexp_of_t :
      ('-> Sexplib.Sexp.t) ->
      'Raw_ivar.Scheduler_dependent.t -> Sexplib.Sexp.t
    type 'a detailed = 'Raw_ivar.Scheduler_dependent.t
    val sexp_of_detailed :
      ('-> Sexplib.Sexp.t) ->
      'Raw_ivar.Scheduler_dependent.detailed -> Sexplib.Sexp.t
    val connect :
      bind_result:'Raw_ivar.Scheduler_dependent.t ->
      bind_rhs:'Raw_ivar.Scheduler_dependent.t -> unit
    val fill : 'Raw_ivar.Scheduler_dependent.t -> '-> unit
    val install_removable_handler :
      'Raw_ivar.Scheduler_dependent.t ->
      ('a, Scheduler.Execution_context.t) Raw_handler.t -> Unregister.t
    val upon : 'Raw_ivar.Scheduler_dependent.t -> ('-> unit) -> unit
    val upon' :
      'Raw_ivar.Scheduler_dependent.t -> ('-> unit) -> Unregister.t
  end