Часто слышу следующие доводы за сабж:
- Статическая типизация - тесты не нужны.
- Иммутабельность данных - организация concurrency превращается в тривиальную задачу;
- Благодаря сигнатурам функций не нужна документация;
- Если где-то при рефакторинге поменять тип, то компайлер покажет где еще чо нужно поменять, чтоб программа собралась, PROFIT;