ranges/ranges.go
func (it *inclusiveRangeIt) Next() int {
	val, err := it.ptr.Value(it.pos)
	it.pos++
	if err != nil {
		return it.ptr.End()
	}
	return val
}
func (it *inclusiveRangeIt) Next() int {
	val, err := it.ptr.Value(it.pos)
	it.pos++
	if err != nil {
		return it.ptr.End()
	}
	return val
}
// Next() returns the current value in the
// iteration, and advances the interator. Next()
// will produce a valid result as long as a call
// to isDone() returns false.