The new code has a slightly different semantic. Is this intentional change? See:

```
scala> List(1,2,3,4) zip List('a,'b,'c)
res1: List[(Int, Symbol)] = List((1,'a), (2,'b), (3,'c))
```

Note that zip returns non-empty result even if Lists are of different length.