this is going to be a bit of a nebulous question, but
if I define a template
template T(string s){
}
where s is an identifier, then is there a good way to branch T's
behavior based on whether s is declared in the scope in which T gets
instantiated?