It seems that one must use two templates to process built in times and strings
template A(string a) { ... } template A(a) { enum A = A(typeof(a).stringof); } This is so we can do stuff like A!(double) and A!("double").The problem is when we have many parameters the number of permutations increases exponentially.
Is there a better way to unify the two?