You can’t assume there aren’t other trade-offs that you have to factor in to the analysis.
While TypeScript is great for the tradeoffs I deal with, there are certainly others where it's not.
Good call out.
EDIT: I'm sorry. I thought you were someone else.
[REDACTED]
Also, I didn't mean to misinterpret what you said. Sorry about that.
I had a long and frustrating back-and-forth with someone else some time ago where I pointed out what I believe to be several glaring issues with TS's type system (like the fact that `readonly` properties on object types don't actually guard against writes in most situations) and every one of my criticisms was met with the equivalent of "You're saying a type system has to be 100% perfect or it's completely useless". And even though it's the internet and I should know better, it just irritated the hell out of me.
Again, I'm really sorry for jumping at you like that. I think I'm traumatized over arguing about TypeScript... lol
All good!
Surely preventing 99% of issues (or 90%, or 80%) is good?
I'm also not aware of too many real-world instances of unsoundness in TS that has caused problems. Obviously I don't know your specific scenario, but it's possible there are ways to work with TS (instead of against it) to get a good level of type safety.