Functional Programming Principles in Scala course excercises