The separate process is an interesting point, back in the day dynamically loading code into the host process was the way to go, due to hardware resources and how demanding would be to use UNIX IPC for everything.
Now a couple of years later, with the existing hardware resources, and the ongoing stability and security issues of loading code into process, turns out separate process is a good idea after all.
there's no gnome extension to do roll-up windows?
"GNOME Shell and extensions are written in GJS, which is JavaScript bindings for GNOME Platform APIs. For an overview of how extensions fit into GNOME Shell and the platform, see the Architecture page."
Roll-up was never an extension on UNIX windows managers, having to install one is a joke on us.
As for the GNOME developers stance on that, https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/1028
Meanwhile XFCE, KDE, Windowmaker, Afterstep, Enlightment.... do them just fine.