Use RETVAL_*, not RETURN_* when cleanup is needed.