Backend.Tasks
type ('a, 'b) doer = 'a -> 'b option
val run_sequentially : finish:('b option -> 'a -> 'a option) -> f:('a, 'b) doer -> 'a list -> unit
Run the tasks sequentially
module Runner : sig ... end
A runner accepts new tasks repeatedly for parallel execution