Add ranges.expand() and new traversing functions
Correct isEmpty() return value