Th point is that with X I could start with less than 100 lines and switch to using my wm, and stepwise refine it while using it.
You might consider that a bad API, but to me any solution without it is massively inferior and not something I will ever consider.