``` fun <A> IO<A>.withRetry(err: Throw...
# arrow
b
Copy code
fun <A> IO<A>.withRetry(err: Throwable, retries: Int): IO<A> =
    if (retries == 0) IO.raiseError(err)
    else if (err is BadRequestError) IO.raiseError(err)
    else handleErrorWith {
        withRetry(it, retries - 1)
    }