As soon as you make a backwards incompatible change, you've already made a new language, effectively. Because:
> For example, you could create a fork of C++ that merely compile-errors when you use a pointer and not a reference unless you enclose it in some `unsafe` block that you invented
This means that effectively all C++ code would fail to compile under this implementation.
> One can simply start with C++ augmented so that everything is const by default; that is the ideal progress to me.
This is nowhere near enough to achieve the goal. Sure, it's a thing someone could do. But it's kind of irrelevant.