[Haskell-cafe] Reader monad, refactoring and missing the point all at once