[Haskell-cafe] Is there a nicer way to do this?