it restores c++ ODR which is nice, but the main reason is to allow usage of summary and generic comparison classes in the the same application.
these classes are really not made for reusability. thus they should only be built into the applications.