Простите, что вмешаиваюсь в умный диалог, но при всей моей любви к Хаскелю, тамошний тайпчекер не отловит попытку взятия головы от пустого списка и прочие нетотальные функции, что приведет к краху по эррору именно в рантайме, включая то же пресловутое деление на 0. Поэтому говорить, что наличие системы типов (даже такой сильной как в Хаскеле, если оставить в стороне Идрисы и прочее) автоматически что-то там гарантирует как минимум слишком оптимистично. И это еще если не рассматривать чисто логические ошибки, которых по некоторым оценкам гораздо больше в коде.