Since `retries` logic is contained within the `call` method, I would move this `retries > 0` check back where you originall found it. That avoids splitting the `retries` logic in two places.