I assume this doesn't just call `orig.parent.borrow()` to avoid code bloat from `fail!`?