sig
  type ('a, 'execution_context) t = {
    execution_context : 'execution_context;
    run : 'a -> unit;
  }
end