for (let i of this.iterable) {
                if (!seen.has(i)) {
                    seen.add(i);
                    yield i;
                }