@ne_formal поскольку вопрос заданный выше являлся слишком абстрактным, то мне нужно его специлизировать, чтобы понять проблему, я боюсь, что я специализирую не так же как вы. Поэтому мой ответ будет бесполезен, да и угадывать что имелось ввиду я не люблю. В абстактном же варианте, я не согласен с тезисом.
Возможно имелось ввиду, что с СТ мы можем ввести ограничения, на решения, обычно эти ограничения отделяют некорректные (нарушающие спецификацию) программы от корректных, и описывают с какими данными функция *может* работать. Т.е. возможность передать ей что-то другое не поможет, или функция сломается, или просто неверно работать будет.
Таким образом проявление ограничения может повлиять только, если изменились требования, чем тут наличие типов отличается от его отсуствия принципиально я не вижу, и там и нам нужно обучить работать с новыми данными.
Если ты уточнишь вопрос я могу получше описать.