F# More Notes : Using discriminated unions to implement trees.
Download
Source