Scheme: scheme: check for optional arguments
(define-macro (p r . otherstuff) `(if (null? (list ,@otherstuff)) (print ,r) (print ,@otherstuff))) (p 'c 'ciao)