From "Peter Dimov":
> ++p2.begin() already doesn't work. An iterator is not required to be a class
> type, and therefore, its rvalues aren't required to support ++. All built-in
> rvalues, despite being non-qualifiable, are de-facto const.
The idea that an implementation may or may not be de-facto const sounds like
a good argument to make it explicitly const and remove all doubt.
Glen