Macro utils. Seems Racket has problems nesting define-macro levels. Not good.