type Iter_int(inner: Range_int); func iter(r: Range_int) -> Iter_int { Iter_int(inner: r) } func next(iter: Iter_int) -> Iter_int { new_inner = advance(iter.inner); iter(new_inner) } func value(iter: Iter_int) -> Maybe_int { // FIXME: Turn to iter.inner.current() once parsing is implemented for this // FIXME: This does not advance the inner range because we have no mutability // yet. So the iterators are useless for now current(iter.inner) }