The F# Journal just published an article about value types:
"This article take a look at how .NET value types can be used to alleviate some of the stress from the garbage collector in the context of purely functional data structures. Purely functional data structures are notoriously allocation intensitive. The creators of the OCaml programming language from which F# is descended reported that an allocation typically occurs every 5 instructions. In most cases, a single insert or update operation can be expected to incur one or more allocations. In the context of metaprogramming, for which the ML family of programming languages were originally designed and implemented, the use of heavily fragmented collections is generally an advantage because the vast majority of collections are empty or very small..."
The F# Journal today!