[Haskell-cafe] Can someone explain this typing restriction?