> How can I fix the template declaration to not error in that
> case?
If you want to have a template parameter that can be anything,
including a a symbol or a built in type, you can use this ugly
workaround:
template foo(bar...) if(bar.length == 1)
{
enum foo = 1;
}