count() {
        let known = this.tryPeekCount();
        if (known !== undefined) {
            return known;
        }

        let n = 0;
        //noinspection JSUnusedLocalSymbols
        for (let _ of this._iterable) {
            n++;
        }
        return n;
    }
Determines the number of items in the sequence.
Uses length/size methods of known types, when possible, but otherwise falls back to iterating all the items.
Gets stuck in a loop if the sequence is unbounded.
@returns {!int}