static <T> Tuple2<Optional<T>, Seq<T>> splitAtHead(Stream<T> stream) {
        Iterator<T> it = stream.iterator();
        return tuple(it.hasNext() ? 
                Optional.of(it.next()) : 
                Optional.empty(), seq(it));
    }
Split a stream at the head.
<p>
<pre><code>
// tuple(1, (2, 3, 4, 5, 6))
Seq.of(1, 2, 3, 4, 5, 6).splitHead(3)
</code></pre>
jOOL/src/main/java/org/jooq/lambda/Seq.java