I looked at the CheckRedirect code and I like the prototype:

```
CheckRetry func(req *http.Request, via []*http.Response, err error, cluster *Cluster)
```

Then attempt  becomes len(via)