There isn't a defensible reason for untyped templates. Generics and concepts are a better design all around. It's not only error messages that matter: scoping matters more, as the problems with templates in that regard are the reason why C++ has the ADL mess.
Concepts are one of the most important features C++ needs.
Concepts are one of the most important features C++ needs.