Я какое-то время назад тоже упарывался по всем этим приколам с type-oriented programming. Только вот, как выяснилось, sound у тебя или unsound, багов меньше не становиться.
Ты пишешь код, собираешь пазл из типов и всё равно у тебя выходит потом, что ты либо ни в ту таймзону конвертнул, либо ни те два числа сложил. Исход один - баг.
Конечно, большую кодовую базу на динамическом языке мне сложно представить. Как подумаю о рефакторинге, так сразу кажется что это просто невозможно.
Но стартап я бы никогда не выбрал пилить на окамле. У которого ещё и комунити нет нифига
имхо, потому-что никакая система типов не заменит тесты. тут некий баланс, нужно писать код и нужно писать тесты. соотвественно выбрать для себя инструмент в котором удобно писать и сропровождать код и не нужно писать херову тучу тестов. и кранойсти - довольно хуёвые варианты, что очень мудрённая и строгая система типов, которая тебя сильно тормозит, что какая-нибудь (все знают какая) безумная скриптуха, которая даёт быструю разработку и также быстро отрывает тебе ногу