code: public static final <T> Stream<T> insertStreamAt(final Stream<T> stream1, final int pos, final Stream<T> insert) {
          final Tuple2<Stream<T>, Stream<T>> Tuple2 = duplicatePos(stream1, pos);
  
          return appendStream(appendStream(Tuple2._1().limit(pos), insert), Tuple2._2().skip(pos));
      }
docs: Insert a Stream into the middle of this stream at the specified position
  <pre>
  {@code
  List<String> result = 	Streams.insertAt(Stream.of(1,2,3),1,of(100,200,300))
  .map(it ->it+"!!")
  .collect(CyclopsCollectors.toList());
  
  assertThat(result,equalTo(Arrays.asList("1!!","100!!","200!!","300!!","2!!","3!!")));
  }
  </pre>
  @param stream1 to insert in
  @param pos to insert Stream at
  @param insert to insert
  @return newly conjoined Stream