Learning Scala slowly - pushing answers to the problems at http://aperiodic.net/phil/scala/s-99/