C++0x以前に解決法があるのかもしれませんが、

template <class T, class P> class Base;
を次のように継承したい場合に
template <class T, template <class> class Q>
class Derived: Base<T,Q<T>> {
typedef Base<T,Q<T>> base;
}
長ったるいBase<T,Q<T>>を2度書くことになってしまいます。
うまい解決策はないでしょうか?