chapter eleven
                    Chapter 11. Asynchronous error handling with Result
This chapter covers
- Learning about the problems with Cocoa style error handling
 - Getting an introduction to Swift’s Result type
 - Seeing how Result provides compile-time safety
 - Preventing bugs involving forgotten callbacks
 - Transforming data robustly with map, mapError, flatMap, and flatMapError
 - Focusing on the happy path when handling errors
 - Mixing throwing functions with Result
 - Learning how to use errors dynamically with Result
 - How to show intent with the Never type
 
You’ve covered a lot of Swift’s error handling mechanics, and you may have noticed in chapter 6 that you were throwing errors synchronously. This chapter focuses on handling errors from asynchronous processes, which is, unfortunately, an entirely different idiom in Swift.