Samples and exercises from Functional Programming in Scala