Real world functional programming with examples in F# and C# - Petricek, Tomas; Skeet, Jon (Manning, 2010)