Various fixes in Zip

* Only accept actual ranges (NOT immutable ranges)
* Store a Ranges, as opposed to a Tuple!Ranges
* Fixed constraints on zip to match Zip's.