It seems like retrying after an exception is only helpful if the exception was due to a transient network error. If the server sends us bad json, we'll try to fetch and decode 10 times. Maybe catching a json decode error separately and raising an exception immediately is better?