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