Parametrized

For discussion.

2nd commit also turns `sequence` into a parametrized type.