Overview of implmenting a full R5RS macro system: https://news.ycombinator.com/item?id=15396587 (the best approach is still an open question!)