class[['a, 'b]]
sync_engine :'a #engine -> 'b #engine ->
[('a * 'b)]
engine
`Done
(synchronization). The product of the two `Done
arguments
is taken as the combined result.
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 engine is aborted in this case.
`Error
has higher precedence than `Aborted
.
If the combined engine is aborted, this request is forwarded
to both member engines.