он лучше ванильного JS по всем этим пунктам.
не соглашусь. он ни рыба, ни мясо.
ТС хуйня потому-что рантайм не знает ни про какие типы. вот держи банальную ситуацию, к тебе пришёл объект из ИО, как ты его валидируешь? никакого нормально подхода в духе
Cat meow = objectMapper.readValue(json, Cat.class) не будет. тебе придётся дублировать код, покрыват чувствительные места схемами как принято в динамике и писать потом отдельно типы. нахуя это надо? - нахуй не надо, можно просто написать d.ts дефинции на уровне модулей, чтобы было проще писать доки и базовые подсказки в иде и на этом тс выкинуть