IMO the problem is not that noone "wanted" to be able to use the = op to assign an integer to a string (after all, that is the point of polymorphism and operator overloading, is it not?) but that ...