What tools or primitives are missing that you wouldn't also need in the "happy path"? It is not like error handling is any different than any other type of handling from a programming point of view. It's the "business" challenges that makes it interesting. Most everyone has already figured out how to deal with success, but few want to think about failure, leaving all kinds of interesting problems to solve.