> some sort of "TypeScript-ish" language that, if a TS programmer plays by a stricter set of rules
This is basically just rust, no? As a TS developer, I've found picking up rust to be really neat.
Try C# instead.
I write a fair bit of C#. It feels like the prequal to Typescript. Its lack of discriminated unions and type narrowing feels like a step back from Typescript.
DU is available in C# via packages like OneOf and Dunet.
Dunet is really good.
https://github.com/mcintyre321/OneOf
https://github.com/domn1995/dunet
It's on the roadmap and will arrive at some point:
https://github.com/dotnet/csharplang/blob/main/proposals/dis...