Improved `Result.__enter__()` annotation.
When using `Result` subclasses (like for example `CursorResult`) as context managers, better annotation is derived.
For example:
```python
with connection.execute(statement) as result: # result is `CursorResult` instead of just `Result`
pass
```
def __init__(self, cursor_metadata: ResultMetaData):
self._metadata = cursor_metadata
- def __enter__(self) -> Result[_TP]:
+ def __enter__(self: SelfResult) -> SelfResult:
return self
def __exit__(self, type_: Any, value: Any, traceback: Any) -> None: