While you're at it, go on a huge tangent writing a library that allows one implementation to work as both an X11 and Wayland compositor.
Actually why stop there? Make said library also compile to a full screen Windows and Macos application that somehow renders the contents of windows to textures and does event handing etc. that way you can write your desktop environment once and use it everywhere.
I've gone crazy with power.