[Haskell-cafe] Avoiding lazy evaluation in an ErrorT computation