Functional Programming For the OOP Programmer Exercises