----- (define-syntax define-object (syntax-rules () ((define-objects NAME FIELDS ...) (begin (define NAME (make-gromit-object 'NAME (let-syntax ((field->list (syntax-rules () ((field->list (name type)) '(name type))))) (vector (field->list FIELDS) ...)))))) )) ----- works but, ----- (define-syntax define-object (syntax-rules () ((define-objects NAME FIELDS ...) (begin (define NAME (make-gromit-object 'NAME (let-syntax ((field->list (syntax-rules () ((field->list (name type flags ...)) '(name type flags ...))))) (vector (field->list FIELDS) ...)))))) )) ----- gives ----- Error: during expansion of (syntax-rules ...) - too many ellipses: (type ...) Call history: (define-syntax define-object (syntax-rules () ((define-objects NAME FIELDS ...) (begin (define NAME ... (##core#define-syntax define-object (syntax-rules () ((define-objects NAME FIELDS ...) (begin (defin...... (syntax-rules () ((define-objects NAME FIELDS ...) (begin (define NAME (make-gromit-object (quote NA...... <-- -----