error handling combinators, more on todo example