I've seen the author (Noel Walsh) talk on Scala a few times and he's a great teacher. And also good at showing how far you can get with just ADTs, structural recursion and objects as namespaces for your functions. This, in my view, represents a great, functional, subset of Scala. (Avoid normal classes, mutable state, etc.)