Examples from and inspired by the book "Learn you a Haskell for great good"