This isn't the limit of what's possible, it's a lower bound of questions that you have to answer if you want to build a replacement.
> These two questions depend entirely on the chosen implementation.
Okay? Feel free to include multiple answers, but you need at least one.
> If we’re talking about a new implementation, should we really start by accepting the limitations and constraints of the existing system as requirements for the improvement?
If you ditch all the behaviors of the old system without figuring out how to shim them in, then you can build a beautiful new system that's free of all the problems of the old system, and that's also free of all users because you just jettisoned all the programs that let people actually do useful work with their computers. We're stuck with 50 years of backwards compatibility not because we love it, but because people need to be able to interact with their machines without relearning everything, and people need to be able to use the machine to run the programs they're using.