If it's helpful, the original implementation of Arc was actually quite similar to this - a bunch of macros that compiled down to MzScheme (which eventually became PLT scheme, which eventually became Racket!).
Some the libraries were written using Arc-macros that expanded into simpler Arc constructs, but MzScheme macros weren't uses in that process.
Note: PLT Scheme was the names used when MzScheme, DrScheme and a few other tools was distributed together.