C# supports top-level functions as well, that's not the issue. But, just to give a simple example, in TS you can do things like:
var foo: { bar: { baz: string } }
which have no equivalent in C#, because it doesn't have anonymous struct types, and its typing system is almost entirely nominal. Go, on the other hand, can translate this directly pretty much mechanically:
var foo struct { bar struct { baz string } }
And keep in mind that they aren't completely ditching the existing implementation, either, so for a while they're going to have to e.g. fix bugs in both side by side. It helps when the code can also be mapped almost 1:1.
Considering how fast the TypeScript compiler is, the TypeGo -> Go transpilation might as well be similar (up to a constant factor) in speed to Go compilation itself.
I'd give it a try. As a highly enthusiastic Go programmer, a powerful TypeScript-like type system is something I'd welcome in Go with open arms.
Speaking as both a D&D DM and player, the "sub-optimal game play" makes the campaign more fun, more diverse, and offers more thoroughly enjoyable role-playing and problem solving opportunities. It doesn't make it less fun.
Not to mention that D&D rules aren't carved in stone. I've never encountered a DM or D&D group that wouldn't allow players the leeway to create a barbarian gnome or half-orc wizard with their desired stats, if that was important to them.
The changes WoTC made are bad, and make everything less fun and more generic. Their intentions were good, but what they've done really isn't helpful or good at all.
An experienced DM can of course let their players create whatever character they want, but a less experienced DM might be concerned about balance/fairness/implications of bending the rules. By creating an alternative, flexible rule for ability scores, a table can feel confident that the characters they build are still balanced.
> The changes WoTC made are bad, and make everything less fun and more generic. Their intentions were good, but what they've done really isn't helpful or good at all.
As you said above, the DM and table can agree to whatever constraints they want for the game, including using the old ability scores.
Being able to search in the past for a half-remembered conversation sounds great until you have idiotic, asinine corporate data retention policies that require anything beyond 90 days to be deleted anyway, for some bullshit reason like being open to litigation or whatever and that being subject to discovery.
The company I work for has the same chat retention policy, but despite that, even being able to go back just 90 days has proven very useful!