[Haskell-cafe] logic and types