better names for range_facade primitives: current, next and prev instead of dereference, increment and decrement