There must be great reasons why this would be horribly wrong, but why shouldn&#39;t macros and syntaxes be passed as first class objects, method parameters, return values etc.?<div><br></div><div>Note that I&#39;m asking why it shouldn&#39;t and not why it&#39;s not. I&#39;m talking about the theoretical possibility, not an actual implementation.</div>