TypeVar_variance_contra
TT: TypeVar = TypeVar('TT', infer_variance=True) # inferred as contravariant