Summary
We have enough knowledge to optimize common and subtle F# language constructs-from pattern matching combined with active pattern to the subtle F# features, such as inline functions, tail call recursion optimizations, and tail call identification. These constructs are features that make F# competitively unique in the .NET ecosystem.
Pattern matching and active patterns can be optimized without sacrificing correctness and functional style. We are now able to enforce type strictness by using statically typed generic parameters in conjunction with inline functions. Having tail calls in recursion optimization in F# is not only more efficient but also gives us a good exercise of optimizing at code level by identifying tail call semantics.
Now, it's time to optimize F# complex features and constructs that deserve a separate chapter: Chapter 8, Optimizing Computation Expressions.