[Haskell-cafe] Help me understand this pattern