書き込んでから「本当にそうだっけ?」と思って仕様を確認してみたら、
> There is no semantic difference between class and typename in a template-parameter.
わざわざ「意味の違いはないよ」と書いてある。
なんで2つ必要なんだ? どこぞのコンパイラが作った既成事実を追認でもしたのか?