Definitely agree with need for iteration syntax and yieldfrom keyword. The iteration syntax will probably have be something different than "for a in b" because that's already used for array-like iteration and adding another case would slow existing code down (all of which wouldn't be using it of course). For yieldfrom the code it needs to generate is something like this:
var generator = g1(), result = {}, send;
while(!result.done) {
result = generator.send(send);
send = yield result.value;
}