The current orphan rules orphan rulees do not account for multidispatch. They should accept an impl if at least one input type is local to the current crate. Currently they require the self type specifically to be local. This is just a simple oversight.