TypeScript is often introduced as:

“JavaScript with types”

That definition is technically correct — and practically misleading.

Because if this is how you use TypeScript, you are only using ~30% of its value.

The real power of TypeScript is not in preventing runtime errors.