Orphan rule is so annoying

100 points Top_Outlandishness78

Can someone explain why is it necessary? In Swift, a struct can be implemented from anywhere, why is Orphan rule necessary here in Rust?

Is there any other way to implement/derive a trait for a external struct that is better than copy the code around and implement From/Into?