Calling TypeScript an abomination is like calling seatbelts pointless because race cars have roll cages.
Elm, ReasonML, Go, Rust, C#... excellent languages.
But TypeScript’s purpose isn’t purity. It’s constraint inside chaos. It brings types to the largest runtime ecosystem ever built. Billions of lines of JavaScript that were never designed for safety.
That’s not elegant language design. That’s ecosystem engineering. Purity is easy when you control the world.
TypeScript succeeds because it doesn’t.