The following code example can be used as a basis for more complex traversals. In this code, an expression tree is created for an expression that involves a function call, add . The SpecificCall active pattern is used to detect any call to add in the expression tree. This active pattern assigns the arguments of the call to the exprList value. In this case, there are only two, so these are pulled out and the function is called recursively on the arguments. The results are inserted into a code quotation that represents a call to mul by using the splice operator ( %% ). The println function from the previous example is used to display the results.