Too strict orphan rules E0117

My immediate concern is that unsafe code may be making assumptions about the nonexistence of foreign impls; only a select few types (&T, &mut T, Box<T>, Pin<T>) allow foreign impls. (These types are called “fundamental” types.)

Those fundamental types have contributed to unsoundness in std in the past: Unsoundness in `Pin`

I can’t actually think of any soundness problems that would ensue from allowing arbitrary users to implement foreign traits for Option<LocalType>, but unless someone exhaustively proves that this is sound, I will remain suspicious.