function zipArray (f, streams) {
  return streams.length === 0 ? empty()
: streams.length === 1 ? map$2(f, streams[0])
: new Stream(new Zip(f, map$4(getSource$2, streams)))
}
Combine streams pairwise (or tuple-wise) by index by applying f to values
at corresponding indices.  The returned stream ends when any of the input
streams ends.
@param {function} f function to combine values
@param {[Stream]} streams streams to zip using f
@returns {Stream} new stream with items at corresponding indices combined
 using f