Fix zip for slicing infinite ranges

Because the type returned is not the same.
use enum opDollar in Sequence

Because an enum is better than a function
Remove back/popBack primitives from Repeat

Because a bidirectional infinite range makes no sense. AFAIK.
Provide slicing for Repeat
Merge pull request #1065 from monarchdodra/repeatSlice

Provide slicing for Repeat