I believe there are many advantages to explicit variance annotations, specifically using the keywords `in` and `out`. - Improved readability/understand-ability. - Reduced chance of accidentally breaking type compatibility. - Greater discover-ability regarding generic variance.
The only language that I know of that infers generic variance is TypeScript, and they state that the `in` / `out` keywords can improve readability(1). All languages that I know of that support declaration site variance have and require specifying variance annotations (almost all use `in` and `out`), I think it would be strange and unusual for Python to differ in this consistent pattern.