scan(seed, aggregator) {
        let seq = this._iterable;

        return Seq.fromGenerator(function*() {
            let accumulator = seed;
            yield accumulator;
            for (let e of seq) {
                accumulator = aggregator(accumulator, e);
                yield accumulator;
            }
        });
    }
Accumulates the items of a sequence into a seed, while yielding the results. For example,
<code>[1, 2, 3].scan((a, e) => a + e, "a")</code> yields <code>["a", "a1", "a12", "a123"]</code> and
<code>[1, 2, 3].scan((e1, e2) => e1 + e2, 0)</code> yields <code>[0, 1, 3, 6]</code<.

@param {A} seed
@param {!function(A, T) : A} aggregator
@returns {!Seq.<A>}
@template T, A