To each his own, obviously, but I've programmed a fair amount in CL and Scheme and vastly prefer syntax-case to defmacro. There is a little more cognitive overhead, but it all makes sense. Syntax-case macros are easier to write and read, from my point of view.
And Racket has syntax-parse, which is even nicer, I seem to recall.
And Racket has syntax-parse, which is even nicer, I seem to recall.