retryLimitHit should be moved to result._retry = { ... } so userland can get retry info regardless whether error exists or not.
Also add retryCount to result._retry , handy if userland wants to gather some retry stats.