It's so much fun to `return err` through every layer. Explicit no-op attached to every call, yeah!
> No unexpected uncaught exception logs blowing up your terminal (aside from actual program crashes via panics)
A great opportunity to search a code base for logging messages and reconstruct traces by hand. A real true craft!
> full-control of errors in your code as values you can handle, return, and do anything you want with
Yes, it's a real engineering marvel. Exceptions are so bad at this, you could only catch it and, wait...
> Rust, for example, has a good compromise of using option types and pattern matching to find error conditions, leveraging some nice syntactic sugar to achieve similar results.
Thank you for mentioning Rust, I guess. It's very saddle not to include `try` on the table.