traverse() now supports a range of results
Cleanup
Add support for updating value