[Haskell-cafe] Type trickery