A guide for understanding, creating and refactoring for-comprehensions in Scala.