Como clonar o gerador ES6?

Estou tentando criar umList mônada no ES6 usando geradores. Para fazê-lo funcionar, preciso criar uma cópia de um iterador que já consumiu vários estados. Como clonar um iterador no ES6?

function* test() {
    yield 1;
    yield 2;
    yield 3;
}

var x = test();
console.log(x.next().value); // 1
var y = clone(x);
console.log(x.next().value); // 2
console.log(y.next().value); // 2 (sic)

eu tenteiclone ecloneDeep delodash, mas eles não tinham utilidade. Os iteradores retornados dessa maneira são funções nativas e mantêm seu estado internamente; portanto, parece que não há como fazê-lo com o próprio código JS.

questionAnswers(3)

yourAnswerToTheQuestion