* No, i'd be more like ```rust fn do_operation(param: ...) -> Result<..> { fn do_operation_inner(param: ...) -> Result<..> { // Do stuff, we might find corruption here that gets returned as error } match do_operation_inner(param) { Ok(x) => Ok(x), Err(Corrupt) => { repair(); do_operation_inner(param) } } } ```