[Haskell-cafe] Why does Haskell have both `Maybe a` and `Either a ()`?