Я могу привести пример из разработки нашего фронта. У нас фронт до какого-то момента был целиком на писан на CoffeeScript. При выпуске новой фичи больше половины времени уходило на тестирование новой фичи с исправлением дефектов из разряда, здесь бэк присылает число, а на фронте использовалась строка и из-за этого произошел косяк потому что + в JS можно считать как сложением так и конкатанацией, или при каких-то условиях null вместо пустой строки и тому подобное, в общем, сотни всякой ерунды. Сейчас решили перейти на Typescript, что по сути, тот же JS, но с немного типами. Дефектов стало в разы меньше и при переписывании целого раздела у нас было пару дефектов и связанных именно с тем, что неправильно было сделано или не до конца были продуманы требования из-за чего возникали дальнейшие трудности. Писать стало несколько сложнее и выработать практику как типы применять было изначально не так просто, особенно когда нужно переписывать старый код, но оно того стоило, по причине того, что глупых дефектов стало меньше. Это никаким образом не отменяет тесты, но глупых ошибок может помочь избежать.