On Wednesday, 6 November 2013 at 18:16:04 UTC, Maxim Fomin wrote: > I think that reason for such behavior is the way used defined > operator overloading functions are implemented, not the > language per se, so programmers confuse themselves. What about other possible reason - "Typedef implementation sucks"? ;)