Represents an iterator located at cur, whose end is end (cur < end).
struct RangeIterator<T> {
    cur: T,
    end: T,
}