Why not move the dry-run paths to the beginning of the function and then return?

That way you keep the same code structure as you used to.