Improve backward and forward traversing algorithms
Add ranges.expand()
Implement prevBoundary()