Here's something I would really genuinely like to see: allow binary crates to break the orphan rule, and more generally, allow binary crates to say "actually no, we're not going to use your trait implementation, we're going to use mine."
This might need some guard rails, but should be sound in general, because the whole reason we have to have the orphan rule in the first place is to prevent conflicts in case multiple crates try to define the same impl -- but a binary crate by definition has a global view, so it's fine. The "we use my version" mechanism addresses what happens if a dependency starts providing a trait impl in an update, and is also handy when a stock impl isn't quite right.
I posted concrete examples of where both features would be useful last year, in a thread specifically about orphan rule relaxation.