match-and-rewrite is used to provide a concise means of writing rewrite rules. It is particularly useful for writing source-to-source transformations (macros). In Section , we will show the source for this procedure.