It looks interesting and clever (and a practical way to learn about relational algebra) but the reason similar interesting and clever solutions haven't become very popular over the years is that the field of applications where they have a significant advantage is very narrow. Often these are rapid-prototyping development tools and places where there's a need to generate very complex queries in a way compatible with different relational sources. Typically, though, the queries are not that complex and don't need to be generated dynamically so this sort of thing becomes just an exquisitely designed layer for more bugs to hide in.