[Haskell-cafe] Best practices for modular programming in Haskell