C# is a good option.
F# if you want functional C#.
Scala if you are adventurous.
F# if you want functional C#.
Scala if you are adventurous.
F# is awesome if you ignore the fact that it's so easy to shoot yourself in the foot from a performance standpoint with all the lazy constructs. It sure is awesome though to have such a strict type system, though I do sometimes miss features that Typescript has, such as structural typing and mapped types.
In general I do thing the dotnet ecosystem offers a really good set of compromises.