You'll probably have similar overlap between C# and F# implementations as you would with say TypeScript - they are just that different in practice IMO.
They're still waiting on the do expression proposal for that (https://github.com/tc39/proposal-do-expressions), which has been in the bikeshedding stage for the past five years.
And the React example makes no sense, you can use a ternary and it is even shorter.
``` return ( <nav> <Home /> {loggedIn ? <LogoutButton /> : <LoginButton /> } </nav> ) ```
I've used it a bit but I haven't found it very boilerplatey in general, so I'm interested in learning what contexts you run into that.
I'm assuming you're using it with flutter?
https://medium.com/dartlang/dart-3-1-a-retrospective-on-func...
TypeScript - powerful type system but shit underlying stdlib and language (no pattern matching/switch expressions)
Dart - worse than TS because the object model is closed - so no dynamic freedom, but the type system and expressions are weaker then the rest. Also 0 meta programming facilities - Java level of boilerplate and code generators
C# - closest to ML featureset out of the mentioned, but unlike TS doesn't have sum types which will make a lot of things more tedious.