Would be slightly nicer if `validate_timeout` did the `_Default` check. Then you'd just need:

```python
    self.connect = self.validate_timeout(connect, 'connect')
    self.read = self.validate_timeout(read, 'read')
    …
```

Also, should use `self.` instead of `Timeout.` so that subclasses can override `validate_timeout`.