Runs its body repeatedly until it returns true.
If it returns false, waits a while and tries again.
(Subsequent failures will slow down the delay between attempts.)
There is no limit to the number of retries,
but if the body throws an error that is thrown up immediately.