class[['a, 'b]]msync_engine :'a #engine list -> ('a -> 'b -> 'b) -> 'b -> Unixqueue.event_system ->['b]engine
let me = new msync_engine el f x0 esys - Runs the engines in el in
parallel, and waits until all are `Done. The result of me is
then computed by folding the results of the part engines using
f, with an initial accumulator x0.
If one of the engines goes to the states `Aborted or `Error,
the combined engine will follow this transition. The other,
non-aborted and non-errorneous engines are aborted in this case.
`Error has higher precedence than `Aborted.
If calling f results in an exception, this is handled as if
the part engine signals an error.
If the combined engine is aborted, this request is forwarded
to all member engines.