Require any of several alternative package dependencies

The order in which things are encountered is not predictable or guaranteed - that’s basically my point.

If you make a rule like that, you effectively prohibit certain types of resolver implementation - notably, the one that pip uses :slightly_frowning_face: (Before anyone comments, this is something of an over-simplification, but it is true that “whatever is encountered first” constrains the possible implementation choices in ways that the current semantics don’t).