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