Whoops, I was wrong about \def. It doesn't need fixing. Never mind that. It is \ifx\someprimitive\undefined that could run into trouble, and I'm sure that we do not want to "fix" \ifx, even in theory. Anyway, it seems pointless to go further with imagining problematic cases. I still don't see a viable alternative to renaming primitives for achieving compatibility.