Text this: Professional functional programming in C#