template 引数が外部リンケージ(でしたっけ?)を持たなければいけないという仕様はなぜ生まれたのでしょうか。
関数内のクラスをテンプレートに渡したいと思う場面は頻繁に発生します。