My solutions to FP in Scala book exercises