Implement ZipWith

```haskell
runT $ zipWith (+) (source [1,3,5,7,9]) (source [0,2,4,6,8])
-- [1,5,9,13,17]
```