`type t`````

A sequence of tasks that can be executed in parallel, with a continuation to be executed at the end

`type closure``= unit ‑> unit```

Each task/continuation executes a closure

`val aggregate : size:int ‑> t ‑> t`
`val create : ?⁠continuation:closure option ‑> closure list ‑> t`

Create tasks with a list of closures to be executed in parallel, and an optional continuation to be executed afterwards

`val run : t ‑> unit`

Run the closures and continuation

`val fork_protect : f:('a ‑> 'b) ‑> 'a ‑> 'b`

does the bookkeeping necessary to safely execute an infer function `f` after a call to fork(2)

`module Runner : sig ... end`