Agreed. A turing-complete language isn't the ideal choice for smart contracts. A strongly typed ML or Haskell style language would have been a much better choice as a starting point.
Six to seven foot tall praying mantis like entities are a common element in many alien abduction accounts. They're typically in the background, silently watching the proceedings while letting the little greys carry out the examinations.
In "DMT: The Spirit Molecule" author Rick Strassman theorises that DMT enables the brain to tune in to other parallel realities beyond "channel-normal". If the interdimensional hypothesis for alien abductions is correct, perhaps DMT allows one to occasionally tune into the source of this mysterious phenomenon.
The C# team are very lucky to have F# as a reference implementation on how to implement ML style features on the .NET platform. I'm certain many more features from F#/OCaml will be added in forthcoming releases.
Using F# would have been a great choice. By using algebraic data types plus active patterns the size of the code base would have been dramatically reduced and much more comprehensible. And of course it would have been even more type safe.
There's more to F# then HM type inference plus ".NET's OOP and subtyping". OOP and subtyping are rarely used. While it lacks some of OCaml's powerful features it shares many core features such as algebraic data types, exhaustive pattern matching, immutability by default, Option types and so on. It's also arguably easier to read with it's white space significance and not needing the rather distracting "in" keyword.
Having the vast .NET library is a big plus for the language, of which OCaml has no equivalent. Other great features of F# are type providers, straightforward multi-core programming and units of measure, which I don't believe have OCaml equivalents.
I would say F# is much safer than C# as it has immutability by default, non-nullable reference types, Option types, units of measure, and stricter casting rules.