[Haskell-cafe] Scary type inference for monadic function definitions