code: @SafeVarargs
      public static <T> Stream<List<T>> mergeToList(Stream<T>...streams) {
          return merge(ArrayList::new, (l, x) -> {
              l.add(x);
              return l;
          }, streams);
      }
docs: Construct a stream which merges together values from the supplied streams into lists of values, somewhat in the manner of the
  stream constructed by {@link com.codepoetics.protonpack.StreamUtils#zip(java.util.stream.Stream, java.util.stream.Stream, java.util.function.BiFunction)},
  but for an arbitrary number of streams.
  
  @param streams The streams to merge.
  @param <T> The type over which the merged streams stream.
  @return A merging stream of lists of T.