We're replacing "XYZ" that does "ABC", calling it "xyzzy". Believe us, we're doing best work ever, you won't notice anything, and we'll all live happily ever after.
But, "XYZ" does "DEF" as well. How shall we do it in the future?
Well, "DEF" is not the scope of our replacement. It doesn't belong to "xyzzy".
But... "XYZ" did it...
You don't understand: We define the scope. And we're in the position to tell you that while "ABC" might be of interest to you, all the rest of the world doesn't care. So we define that "ABC" wasn't part of "XYZ" and we don't have to replace it.
But... "XYZ" did "ABC"...
As we said, we don't care. We define, you don't need "ABC".
But then... "XYZ" is not a replacement if it doesn't deliver the same functionality.
You're wrong. You're not in the position to define that. We have the power to define what is a replacement and what is not. And we tell you: "xyzzy" is a full replacement for "XYZ", for all relevant functionality. A maze of twisty little passages, all alike.
The story of the Linux desktop,
PS: Chosing the name "xyzzy" as illustration is clearly not correct, as it doesn't support remoting to "Y2", even though it should. But, maybe, sometime in the future we'll be able to kill the dragon (aka we'll be able to really replace X) with our bare hands.