(std::)swapをユーザー定義のクラステンプレートで特殊化することについて

http://groups.google.com/groups?hl=ja&lr=&c2coff=1&threadm=38E7601C.FF870E9E%40gol.com&rnum=1
こんなスレ(・∀・)ハケーン.参考資料・・・というかこの問題がいかに複雑でやヴぁいかを露呈してるだけだにゃ,これ.Alexandrescuも関数テンプレートの部分特殊化(Function Template Partial Specialization, FTPS)とプライマリ関数テンプレートのオーバーロードを混同している(た)みたいだし.
自分,何度かこの問題を整理して書こうとしたんだけれど問題の背景が複雑すぎてすぐに挫折する.テンプレート(+特殊化),オーバーロード,ADL,e.t.c.とC++の複雑な部分の巨頭が絡み合った総合演習問題と化しているからにゃぁ・・・.
もし自分が「C++における最も複雑な欠陥は何か?」って訊かれたら,絶対これ挙げるぞ.