If/guard-let-catch for conveniently accessing both Result type cases

@Jeehut, you do understand that just claiming that you need better Result ergonomics isn't enough: many people here just think that you're fighting the language, and suffer the bad consequences of this bad decision.

To sum up, you are encouraged to answer Precise error typing in Swift. Maybe refactor your Result-based code with regular throwing methods, and evaluate the eventual downsides? This could help strengthen your answer to the language direction that has been clearly expressed, or make you discover that your use case is already covered by the proposed future directions. Maybe you will make peace with untyped errors. Who knows?