Partial chapter 6 in Scala in Depth.