Patch:Code and Test
So, tagged data structures are probably interesting in a relational context. Say you have a relation with some default logic about dogs:
Assume there's a (defmacro breed [t] `[:breed ~t]).
That's nicer than having to drop [:breed :golden-retriever] in there or whatever, since it's compile-time-checkable, less error-prone, reduces duplication, etc.
This little patch makes ex* expand macros in patterns so it doesn't treat e.g. (breed :golden-retriever) as introducing a new LVar called "breed". Test also provided.