ported define-macro to syntax-rules