The main benefit of TypeScript isn't that it catches type errors (though it does do that).
It's that it gives you confidence your understanding of a program is correct.
In a language with no static typing, to determine whether or not, say, a function parameter can be null, you have to audit every caller of that function. 1) you don't know where the callers are, because of dynamic dispatch and use of first class functions. 2) even if you can find all of the callers, you don't know anything about the arguments they pass until you read all of their callers.
TypeScript means you can write, maintain, and read more complex code while worrying less. Making a change to one part of the code no longer requires reading the entire codebase, since type checking verifies that the boundaries maintain (and explicitly state!) their assumptions.
Absolutely right, the big plus about static typing is the refactor factor.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.