sig
  type 'execution_context t
  val invariant : 'a Core.Std.Invariant.inv -> 'a t Core.Std.Invariant.inv
  val create :
    'execution_context -> ('a -> unit) -> 'a -> 'execution_context Job.t
  val do_nothing : 'execution_context -> 'execution_context Job.t
  val execution_context : 'execution_context Job.t -> 'execution_context
  val run : 'a Job.t -> unit
  val sexp_of_t :
    ('execution_context -> Sexplib.Sexp.t) ->
    'execution_context Job.t -> Sexplib.Sexp.t
end