Норм живут, кейсы, которые решает статическая типизация в нынешних мейнстримовых языках настолько примитивные, что они все закрываются практически бездумными юнит-тестами and/or генеративными тестами. При этом не принося с собой ничего полезного, они очень негативно влияют на возможности программировать, начиная от локальных сложностей (когда или система типов оч примитивная и приходится городить фабрики фабрик чтоб в нее засунуть нужное или собирать паззлы из теории категорий и GADT, если не примитивная) и продолжая сильно ограниченными возможностями существования в открытой экосистеме, т.к. ЯП со статической типизацией всегда стремятся к CWA (Closed World Assumtion), просто тупо по определению (и потому что так проще). Как бонус долгая компиляция.
В момент, когда система типов пытается решать не только тривиальные задачи, писать код с ней становится куда сложнее, а возможности выражения мысли/алгоритма еще более скукоживаются (см. раст). При том это только малое подмножество нетривиальных задач. Статическая проверка сложности алгоритма, соответствие кода некой спецификации (формальной или нет) и прочее прочее даже не пытаются решаться чем-то мейнстримовым.
Но это теоретизирование. Понятно, что когда удаляешь поле из структурки, а редактор тебе такой сразу "братуха, ты ж вот тут из нее читал, чот не то" это приятно и удобно. И это работает здесь и сейчас. А без статической типизации хоть фундаментально и ничто не мешает иметь такой же фидбэк "от редактора", но никто так не умеет сейчас. Мне кажется это больше исторический артефакт, "так получилось", чем какой-то осмысленный прогресс именно в эту область.