I slightly disagree. I think two things are better with the result type:
1. Exception overhead. Exceptions capture diagnostics and unwind stacks in ways that add cost to the user-error case.
2. Type system information. With the result type, you declare the possibility to fail, and exactly what failures to expect in normal operation. You can switch over specific errors vs the broad category of anything that inherits from `Exception`
1. Exception overhead. Exceptions capture diagnostics and unwind stacks in ways that add cost to the user-error case.
2. Type system information. With the result type, you declare the possibility to fail, and exactly what failures to expect in normal operation. You can switch over specific errors vs the broad category of anything that inherits from `Exception`