>912-924
ありがとうございます。

>917
本当はgooはテンプレート引数がもっと多い巨大なクラス。
その中から幾つかをfooに渡してfooを特殊化すれば、
gooを全部特殊化しなくてもいい
(さらに本当はfooにあたるクラスは複数あって、
各々の特殊化をgooが多重継承して一つのクラスに仕上げる、
という構造になっている。)
↓
しかしその中でgooで定義されるtypedefが必要になった
↓
gooをパラメータで渡したらこうなった

といった経緯なんです。
922さんのがまさに意図していた回避法なんですが、
かなり凄い量のパラメータを与えなければならないので微妙な感じです。