I've heard that CLX doesn't provide all the interfaces one would need to
implement a good quality window manager.
Not true. It provides all the necessary facilities. It merely does not
provide all of the thousands of "convenience" interfaces that the C Xlib
does that have specific property names and formats buried within them.