You must log in or # to comment.
Very big agree. This is actually one of the things that I love about TypeScript.
Because the compiler makes a strong guarantee that type info cannot modify runtime behavior, you’re free to manage the type layer and implementation layer independently to whatever extent you desire.
That means you can get granular and pedantic in the places where you see value in having the compiler enforce things, or get loose and permissive where that makes more sense.
It’s an approach that I really miss when I have to use languages that require your runtime behavior to comport with type system rules. I wish more type checkers had some kind of Ron Swanson escape hatch.

