let se = new stream_seq_engine x0 s esys: The constructed engine se
fetches functions f : 'a -> 'a #engine from the stream s, and
runs the engines obtained by calling these functions e = f x one
after the other. Each function call gets the result of the previous
engine as argument. The first call gets x0 as argument.

If one of the engines e transitions into an error or aborted state,
se will also do that. If se is aborted, this is passed down to
the currently running engine e.