And, one more thing if we have the following code: template foo (T) { auto foo (U) (U arg) { } } ... foo!(int)('!'); determine whether the compiler that this specialization is to an external template?