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?