какие логические ошибки *нельзя* забороть бесконечно выразительными типами?
по-моему, тут дихотомия уровня "если разрабу очевидно, что правильное поведение только одно, то допущение другого поведения — это ошибка типов. Если 'правильных' поведений может быть несколько и надо выбирать, а разраб выбрал неправильно, это логическая ошибка"