Named and scoped trait implementations as a solution to orphan rules [ok, it wont' work]

No. It would make adding any impl at all to your code a breaking change, something we have worked very hard to avoid, because any of your binary dependencies could contain any impl you might want to write.

For example, you could write impl<T: ToString> ToString for Vec<T>. Then we decide to add such an impl to std, now your code is broken when you go to update Rust.