Sequence protocol, combinators and utilities