next(iter, @optional arg = void)
Move the iterator iter
forward by one position. The value of arg
is passed to the call to
yield
that created the iterator and will become its return value.
Return the updated iterator.
let a = false
function f(x)
letfn loop ()
{ let b = yield x
a = b
x = x + 1
loop() }
let iter = f(10)
first(iter)
;; 10
first(next(iter, 'hi))
;; 11
a
;; hi