Well but of course! These functions are already implemented with basic exception safety in mind. What if they weren't? This is exactly the same situation as a function that has
callback();
which cannot be changed into
if Err(error) = callback() {
return error;
}
because that would break some invariants.
Changing return type from "void" into some "result" is a mechanical change.