That is exactly what libraries are for, not protocols.
Should Web Standards mandate the use of a given JS implementation because it hinders the creation of new ones?
Also, the million+1 “de” under X are more like skins, there is absolutely no reason for them to exist in that form, they could just build on top of another wayland compositor.