> We could just ban upper-bounded dependencies that aren't done by
> slots inside ebuilds in future EAPIs...

That's probably going to far, as there are valid usage cases.
For example, "|| ( bar <foo-2 )", if your package needs some feature
that was split off from package foo to package bar in version 2.
Ulrich