"retrying with return" sucks