(Оффтоп)
Ну, где-то от динамичности не уйдёшь, но ошибки в шаблонах может быть и чуть проще находить, потому что обычно языки шаблонов не тьюринг-полные и делегируют сложную обработку куда-то наверх, например в виде функций агрегирования там или чего. Вообще язык с мощной системой типов обычно как раз позволяет из неё выкрутиться при надобности несложным образом, но о статической типизации до сих пор часто судят по какому-нибудь условному паскалю (не в укор Никлаусу Вирту).
Кстати говоря, иногда вполне возможно частично проверять шаблоны на корректность на этапе компиляции. Тут языки с метапрограммированием, макросами всякими, и динамические хорошо пойдут, и в общем я вообще не за типизацию, а за как можно большие возможности статического анализа, с ней или без, только ли кода или ещё чего-то в довесок — и современные динамически типизируемые языки постепенно получают больше и больше средств статической проверки, но всё же в разной степени и не настолько легко как статически типизируемые.