static <T1, T2, T3, T4> Seq<Tuple4<T1, T2, T3, T4>> crossJoin(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4) {
        return crossJoin(seq(i1), seq(i2), seq(i3), seq(i4));
    }
Cross join 4 streams into one.
<p>
<pre><code>
// (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
</code></pre>
jOOL/src/main/java/org/jooq/lambda/Seq.java