Расстановка type hints в legacy Python-коде
Type hints для legacy Python-функций: Optional/Union/Callable, Protocol/TypeVar для полиморфизма.
Похожие промпты
Пример результата
```python from typing import Optional, Callable, TypeVar T = TypeVar("T") def retry( fn: Callable[[], T], max_attempts: int = 3, on_fail: Optional[Callable[[Exception], None]] = None ) -> T: ... ``` Изменения: - TypeVar T: функция вернёт тот же тип что fn - Callable[[], T] — fn без аргументов, возвращает T - Optional[Callable] — on_fail может быть None - возврат T (не Any) — сохранение типа