Identity rules
Fix bug regarding withMacro inside delimiters
Rename withMacroRec and withMacro to invoke and invokeOnce
Add throwSyntaxCaseError