Sequence
A sequence [s1; s2] of steps is matched when step s1 is first matched
and when step s2 is then matched.
Note that this effectively imposes an order on messages. However,
because discarded messages are reconsidered for matching, this means
that s2 can arrive before s1 but s1 will always be forwarded
before s2. Sequences can be seen as a way to reorder messages.
Sequences are written with
#![allow(unused)] fn main() { seq [ s1; s2; s3; ... sn; ] }
where s1, ..., sn are steps.