Functional programming for the OO developer (Part 3)