Templates are actually much more advanced, in several ways, than C-style preprocessor macros. Maybe this was the part where you would "sound like English isn't your first language" though? etc etc...
I understand that templates offer several protections over the problematic macros one would write in C, but I do not believe templates are the right way to write for generic behavior.
what would you design then? (That can be done statically)