Programming in Scala : [a comprehensive step-by-step guide] - Odersky, Martin; Spoon, Lex; Venners, Bill (Artima, 2008)