Currently, range takes a start, end, and step, where the step is a number that is added to the current value to progress from the start to the end. It would be neat if you could give a function that returns the next value from the current, such that, for example, range 0 5 (+ 1) would do the same thing as range 0 5 1.