Make room for Functional Programming 2

The second of two parts explaining the main concepts of functional programming: this time through a worked example.