Real-World Functional Programming: With Examples in F# and C#