Programming examples and exercises from Programming in Scala, 2nd ed. by Martin Odersky, Lex Spoon, and Bill Venners