Okay, I've read the thread. I think CoerceUnsized should be left as a blocker on stabilizing that trait and set aside for the moment (edit: but my opinion is along the same lines as the rest of this post - it should be a requirement of coerceunsized, enforced however we see as best, that the target of the deref doesn't change).
I think we should essentially reserve the other two impls unless a crater run shows it would have a really negative impact on some users. While we can add a special work around for Pin with a marker trait, my belief is that users should be able to assume that for<'a, T: ?Sized> &'a T !: DerefMut et cetera. It's common sense. I would only want to add a pin-specific marker trait if this were not possible.
We should also explore if there are other impls that #[fundamental] allows on references that completely defy common sense. Nothing strikes me.
So maybe not reserve through the same mechanism as that but my opinion is we should treat the fact that users can write these impls as the soundness hole (rather than something specific to pin) and find a solution to that.
EDIT2: not sure how the attribute interacts with specialization, but I would hope it would treat this impl as unspecializeable if its a non-marker trait with all non-default items. If not, that change seems appropriate? In which case, I believe it works to just reserve these impls?