As someone who just (2 days ago) went on a backspace-adventure to clear my React project of all TS types in order to switch back to Babel, I want to ask this:
Do you use noImplicitAny and strictNullChecks?
I spent well over 60% of my time on figuring out how to apply correct typing to my code — and I do know TS quite well — usually related to higher order components in React and decorators. I have a feeling that if I had disabled noImplicitAny and strictNullChecks it would have been a more pleasant experience, but that would mean I would still spend time on typing some of my code, and when the time came to consume it, if I slapped a decorator on it I would loose my typings.
Point being, TS is great when writing libraries, but for full-blown projects there’s just too much friction for me.