Remy has some good arguments for why TypeScript can be just as much of an issue as it is a benefit. I've personally got a love/hate relationship with the abstraction, so it's always good to have some of my own feelings validated 😉 And it's good to hear from someone working "at scale" that these issues only compound, rather than smooth out, as that had been what I would have guessed.
On the confusing semantics:
A "well crafted" definition, type or interface (still no idea when I should use each), is often a huge cognitive load on me.
On one of the greatest frustrations:
Having to rewrite correctly and infallible JavaScript so that it was friendly enough for TypeScript to understand