> Well we've said that the actual behavior if both connect and total are specified should be to take the max of the two and apply that.

I don't remember this. What makes sense to me is for `total` to always be a superset constraint (if defined). `Retry(total=3, connect=0)` should exactly fail after one connection error—that *is* correct. Here are the examples that outline this behaviour: https://github.com/shazow/urllib3/issues/260#issuecomment-26728911