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