As per FIXMEs: - implement a `riterable` interface to support `reversed()` - make sure `min` and `max` are optimized to use moves for the accumulator value