No ES6, o que acontece com os argumentos na primeira chamada ao método `next` de um iterador?

Se você tem um gerador como,

function* f () {
  // Before stuff.
  let a = yield 1;
  let b = yield 2;
  return [a,b];
}

E então corra

var g = f();
// this question is over this value.
g.next(123); // returns: { value: 1, done: false }
g.next(456); // returns: { value: 2, done: false }
g.next(); // returns: { value: [ 456, undefined ], done: true }

A primeira chamada para.next() pôra para123 e a segunda chamada para definirb para456, no entanto, na última chamada para.next() isso é retorno,

{ value: [ 456, undefined ], done: true }

O argumento na primeira chamada parag.next dá o fora? O que aconteceu com eles? Usando o exemplo acima, como faço para definira?

questionAnswers(3)

yourAnswerToTheQuestion