[Haskell-cafe] Optimizing common subexpressions [Was: ghc has problems with 'zipWith' ?]