static <T, U> Seq<U> scanLeft(Seq<? extends T> stream, U seed, BiFunction<? super U, ? super T, ? extends U> function) {
        @SuppressWarnings("unchecked")
        U[] value = (U[]) new Object[] { seed };

        return Seq.of(seed).concat(SeqUtils.transform(stream, (delegate, action) ->
            delegate.tryAdvance(t ->
                action.accept(value[0] = function.apply(value[0], t))
            )
        ));
    }
Scan a stream to the left.
<p>
<pre><code>
// ("", "a", "ab", "abc")
Seq.of("a", "b", "c").scanLeft("", (u, t) -> u + t)
</code></pre>
jOOL/src/main/java/org/jooq/lambda/Seq.java