[BLOCK QUOTE].

Just comment on the closed bug. We don’t unsubscribe from closed issues, and if there is a reason to reopen them or reengage with them, we do—as is happening here.

[BLOCK QUOTE].

I think you’re forgetting that you have ways of making plausibly correct subtypes of objects in JavaScript. It’s true that if you wind up with primitives you’re kind of stuck. [URL]

You can also do some arguably correct things with user-defined type guards, which are not checked for accuracy, but are not wrong and are less suspicious than casting to `any`. If you have some pattern of runtime reflection that TypeScript can’t analyze, but you’ve convinced yourself of its safety and its utility, I don’t think I’d call that “shenanigans” anyway; I’d call it a limitation of our compiler.

I guess we’ll have to agree to disagree about what type parameters are for. I won’t be monitoring this thread anymore as the discussion has been exhausted of anything useful to resolving the original issue.