типы — это всего-лишь документация с функцией проверки
предпочитаю js, но вот конкретно сейчас на ts проекте (и он не первый в моей жизни) работаю
это не просто документация, а еще куча лишнего оверхеда (лично для меня), который дает сомнительные плюсы
что могу заметить - количество багов не сильно меньше (если уменьшается вообще), снижается читаемость (просто кода сильно больше) и все равно это никакая замена документации - для сложных объектов/функций все ровно никто не отменял комментирование и описание поведения