[Haskell-cafe] Help understanding this type