Awesome explanation. Anyhow makes such a big difference in the amount of code it takes to propagate errors. It seems the thing to analyze when using it is the tradeoff in not being able to deconstruct errors into their component parts. The challenge here is to make it a habit to think through when slapping on the `?` everywhere and instead making it a habit to at least consider if deconstructing the error is necessary. I agree with your take, 9/10 times it will not need to be deconstructed.