Functional Programming for the Object Oriented exercises