suspend fun getResponseWithRefresh() : Either> { val accessToken = "AN_OLD_ACCESS_TOKEN" val arE : Either> = getFailedResponseNotAuthorized(accessToken) return if (arE.isRight()) { arE } else either { val refreshTokenE = !getRefreshToken() val accessTokenE = !updateAccessToken(refreshTokenE) !getSuccessfulResponse(accessTokenE) } }