function mergeArray (streams) {
  var l = streams.length;
  return l === 0 ? empty()
    : l === 1 ? streams[0]
    : new Stream(mergeSources(streams))
}
@param {Array} streams array of stream to merge
@returns {Stream} stream containing events from all input observables
in time order.  If two events are simultaneous they will be merged in
arbitrary order.