A useful slogan for Scheme’s macro system is that it’s a lightweight compiler API.
Due to Matthew Flatt, and quite possibly others too.