This just makes the world a better place:
- more happines for all users;
- less questions about how the library works;
- less lines of documentation read;
- Chances are you will realize your abstractions are not all adequate. We realized this while refactoring the API of the looping primitives;