Davor's functional programming exercises