cleanup and shiny new more-functional interface
remove unnecessary abstraction
improve match test case to include guard
oops fix bug in test case. merge with creation of test case?
hygiene for match-bound vars now implemented
remove trailing whitespace
make tests hygienic...

... and possibly totally pointless. Specifically, fixing
these to make their macros hygienic may mean that they no
longer test the thing that they were supposed to test.
DON'T LET THIS COMMIT GO INTO UPSTREAM
undo helpful attempt to spell-check

Yes, that word is spelled \'memoization\'
added unit and standalone test for 15221
removed incomplete comment

as written, I don't believe this comment was helpful; I think it's
better just to steer the reader toward a general understanding of
hygiene.
simplified test case
looks like a cut-n-paste error in unused code
adjust fold to fold over interpolated items/exprs/etc.
comments only
simplify test case, add debugging output