Fix up RetryTimes, broken after removing IO

I'd broken retry times when trying to write the retryTimes/Forever
functions without IO. They were only ending up running their IO
action the once (and then repeatedly checking it's result), rather
than rerunning the action.