command compat with previous version
converting DSL to function-based list walking vs macro-based. it will be less efficient, but honestly, the compilation time for larger projects with lots of queries is painful.
doing kind of a hybrid of what i did before. using macros now to take advantage of lexical binding/symbol macrolet crap so i dont have to reinvent it, but also doing a much simpler form of `r` that just basically prepends call to any list starting with a keyword