Made some classes case classes, so they have a pretty toStrign
Added a Reference node for recursive structures
Added macro paradise
Implemented recursive structures in the macros.
Migrated macros to quasiquotations