Yes, that's the idea. The `unless error` was basically there to detect whether we entered the `rescue` branch or not. Normally you could use `begin ... rescue ... else ... end` for these situations, but the possibility of a `return` in the block (see the commit note) requires an `ensure` block =/