[Haskell-cafe] How to write elegant Haskell programms? (long posting)