[Haskell-cafe] More concise code using phantom types