Experimenting with Racket's macro system.