Exploring quotations and metaprogramming
The last feature I want to cover among the advanced patterns of F# use is Code Quotations (https://docs.microsoft.com/en-us/dotnet/articles/fsharp/language-reference/code-quotations). This feature is quite mind-bending, allowing you to work with the program code as if it is data, and evaluate these "program as data" pieces when needed and in the needed manner.
The feature review
Looking at this feature from the more operational angle, a program piece may be represented as an expression tree representing the code but without running the code generation off this representation. This allows for arbitrary execution behavior when the expression tree is to be evaluated. It can be evaluated as F# code or as source to generate JavaScript code or even as GPU-executed code or in any other feasible manner.
The cool thing about quoted expressions is that they are typed, they can be spliced together from parts, or they can be decomposed into parts...