function stepGen(gen, arg) {
const {done, value} = gen.next(arg)
if(done) {
if(gen._return) {
stepGen(gen._return, value)
}
} else if(typeof value === 'function') {
value(gen)
} else if(typeof value.next === 'function') {
value._return = gen
value._reset = gen._reset
stepGen(value, null)
}
}