Overview and best practices of types in F#
To store a value as data, every value needs to have a type, especially for static typed languages such as F#, C#, and VB. Many modern programming languages after the year 2000 put emphasis on types as the type of value of the data, instead of using the simple term of data structure. The types here also mean the types that are not just concrete types, but also generic types when used in conjunction with concrete types.
Static typing versus dynamic typing
F# by default has no built-in support for defining and optimizing types to store data as dynamic types on top of Dynamic Language Runtime (DLR). This dynamic type support is available in the form of a library from the F# FSSF open source project communities, the FSharp.Interop.Dynamic. This is available at https://github.com/fsprojects/FSharp.Interop.Dynamic.
This library is also available as a NuGet package as well.
DLR is basically an extension that runs on top of CLR to provide an infrastructure for...