Why are "begin" and "end" functions now instead of methods on the iterator? Do they consider it better because now you can pass around functions, but not methods?
More than that, actually. Because of argument dependent lookup, this will work for any container that has begin and end functions in the same namespace.