namespace stdに宣言や定義は追加できない?

多くのC++プログラマは「namespace stdには何物も追加してはならない」という認識で一致していると思う(え?漏れだけ?)のですが,実はこれには例外が存在します.以下,標準から抜粋.

17.4.3.1 Reserved names
1 It is undefined for a C + + program to add declarations or definitions to namespace std or namespaces within namespace std unless otherwise specified. A program may add template specializations for any standard library template to namespace std. Such a specialization (complete or partial) of a standard library template results in undefined behavior unless the declaration depends on a user-defined name of external linkage and unless the specialization meets the standard library requirements for the original template.

っていうか,自分も初めて知ったというか気が付いたんですけどね.stdにあるtraits系のtemplate(std::numeric_limitsやstd::char_traits)で,自分が定義したクラスに対する特殊化をnamespace stdに置けるのか?って疑問に思って見てみたら案の定そういう特殊化はnamespace stdに追加して構わない,と.