The whole problem here is that you can't do something like this:
Code:
typedef T MyType;
const MyType foo;
The compiler will simply throw the 'const' out and simply use T. That's why I was having these problems in the first place