classThis engine runs two engines in sequential order. It is called[['a, 'b]]seq_engine :'a #engine -> ('a -> 'b #engine) ->['b]engine
let eng_s = new seq_engine eng_a f
When eng_a goes to the state `Done arg, the function f is called to
obtain
let eng_b = f arg
eng_b runs until it is also in state `Done.
If eng_a or eng_b go to states `Aborted or `Error, the
sequential engine eng_s does so, too. If eng_s is aborted,
this request will be forwarded to the currently active engine,
eng_a or eng_b.