[Haskell-cafe] Are there standard idioms for lazy, pure error handling?