[Haskell-cafe] What is the best way to preserve the order of a list