@mikeshardmind thank you for pointing out the discrepancy and probable source of it.
@Jelle Sorry, I didnt follow what you presented the way you intended and didn’t quite see how it would mean that. I still don’t think specifying this as “covariant” is correct, but I agree with the utility of collecting all of those types as a static set of types, rather than gradual.
I think to be able to place a covariant use allowance on an invariant type requires more work and might need changes to variance. I don’t think the required changes would be as drastic as the ones Michael compared with, but enough so that I think we should probably brainstorm that separately, and let this stand alone.
I no longer think typing.All is the right short name for this, and keeping it as the longer “Unspecified” may help people avoid using it where they want “All” to apply somewhere else in the logic than what it does.