zip package:contiguous

zip takes two arrays and returns an array of corresponding pairs.
zip [1, 2] ['a', 'b'] = [(1, 'a'), (2, 'b')]
If one input array is shorter than the other, excess elements of the longer array are discarded:
zip [1] ['a', 'b'] = [(1, 'a')]
zip [1, 2] ['a'] = [(1, 'a')]
zipWith generalises zip by zipping with the function given as the first argument, instead of a tupling function. For example, zipWith (+) is applied to two arrays to produce an array of the corresponding sums.
Variant of zipWith that accepts an accumulator, performing a strict left monadic fold over both arrays.
Variant of zipWith that accepts an accumulator, performing a lazy right fold over both arrays.
Variant of 'foldlZipWithM'' that provides the index of each pair of elements.
Variant of foldrZipWith that provides the index of each pair of elements.
Variant of zipWith that provides the index of each pair of elements.