(define-syntax (define-macro stx)
(syntax-case stx ()
((_ macro transformer)
(syntax
(define-syntax (macro stx2)
(let ((v (syntax-object->datum stx2)))
(datum->syntax-object
stx2
(apply transformer (cdr v)))))))))