If we make the `anyOf` branch at the root, I think the multiple forms of config are easier to read. Plus, our validator will give better error messages i.e.:
```python
schema = {
    'anyOf': [
        {'type': 'string', 'format': 'url'},
        {
            'type': 'object',
            'properties': {
                'url': {'type': 'string', 'format': 'url'}
            },
            'required': ['url'],
            'additionalProperties': False
        }
    ]
}
```