excercises for functional programming in scala