convenience macro with-exponential-backoff