Iterable: use the new dispatching system
Remove redundant _template_ keyword.
Remove Doxygen warnings.
Foldable: add examples for some methods
Range: make the implementation less naive
core: document and test the type class instantiation system