And of course it's a full on functional language with some great syntactic sugar, especially computation expressions.
The stomaching of .NET basically means getting a much larger set of third-party libraries than OCaml or Haskell can offer.
It is well worth checking out!
But for new projects in the future, I am looking towards Mojo and Chapel.
Otherwise, there is no reason to pick either when you can do `dotnet add package System.Numerics.Tensors` and access pure C# BLAS that runs at optimal hardware speed that lets you easily implement inference without ever reaching for C or C++. And for GPU-related scenarios there is ILGPU. Now, either is extremely niche compared to Python, but the overall choice will give you great support everywhere, unlike with Chapel or Mojo.
(I suppose a valid excuse for suffering from C++ tooling would be getting to use something like ISPC)