というかADL自体が邪悪なんだよ。
koenigは腹を切るべきだと思う。
オペレーターオーバーロードが動かない?
少々不便でも、using directiveやusing declarationを使うようにしていた方が、
まだマシだったんじゃないのか。この汚い現状を考えたら。

他にも例えば、std::swap()がユーザー定義のswap()関数を見つけられるとかいう利点もあるんだろうが、
それは副次的な産物で、むしろrvalue referenceとかで積極的に解決すべきものだし。