implement layer_shell protocol
The wlr_layer_shell_unstable_v1
protocol provides interfaces to stack shell surfaces and lock them to screen edges. The purpose of these protocols is specifically to implement desktop shells.
An implementation of these interfaces in mutter would allow using mutter as a compositor for a variety of desktop shells, including GNOME Shell itself. A shell would then run as a dedicated Wayland client process, like any other Wayland client.
The biggest advantage of this would be robustness to faults in the shell component. The GNOME Shell process could be restarted arbitrarily, leaving remaining Wayland client connections established. This is comparable to how GNOME Shell is used as X11 window manager, where it can be restarted without terminating the X11 client connections.