Macro expander function type.
Takes a parser helper (for constructing AST expressions),
optional target (for receiver-style macros), and arguments.
Returns the expanded expression or undefined if expansion should not occur.
Throws MacroError if the macro matches but arguments are invalid.
Macro expander function type. Takes a parser helper (for constructing AST expressions), optional target (for receiver-style macros), and arguments. Returns the expanded expression or undefined if expansion should not occur. Throws MacroError if the macro matches but arguments are invalid.