.NET-imposed language features
Along with the features inherited from the language predecessors, the multitude of F# features was brought into the language for the sake of interoperability with the .NET platform.
F# adheres to .NET Common Language Infrastructure
Run-time arrangement for the F# code has been defined by .NET Common Language Infrastructure (CLI) and does not anyhow differ from the same of C# or VB.NET. F# compiler ingests F# source code file(s) and produces the intermediate code in assembly language named MSIL packaged as binary .NET assembly(ies). During code execution stage MSIL is converted into machine code as needed, or Just-in-time (JIT). Interoperability with other .NET languages is achieved as F#-produced assemblies do not anyhow differ from assemblies produced by C# or VB.NET. Similarly, the JIT compiler takes care of the target hardware platform providing portability. CLI also takes the burden of memory management on itself, making F# programs...