Solutions and expirements for Functional Programming Principles in Scala course