Если поменяли сигнатуру кложа тоже упадет на этапе компиляции. Если кол-во параметров не изменилось, а изменились типы, то это значит бизнес-логика поехала, а значит надо переписыввать код, который эту либу использует. Поэтому при переписывании вы уже в репле увидите падения. А еще нужны хотя бы элементарные unit-тесты, которые надежно уберегают от этих проблем.
Вы код без тестов поставляете?
Переимнование или изменение сигнатуры вообще вещь запрещенная, если есть код в проде, который это использовал. Хотите новую сигнатуру? Извольте дать новое имя функции. Изменяете типы входных или выходных данных? То опять же новое имя для функции. По-моему это очевидные правила. А если есть привычка ломать API без оглядки на то, что код либы используется в других проектах, то сорри язык тут не причем.
Более того, в этом случае вы как раз закладываете мину под ноги надеясь на типы, в то время как изменение сигнатуры это 100% изменение бизнес-логики работы.