`r_name` is almost always discarded by the callers, update the function signature and the callers instead