[Haskell-cafe] Optimizing array operation?