(define-syntax funcall (λ (stx) (syntax-case stx () ((_ f arg ...) (procedure? #'f) #'(f arg ...))))) (funcall + 1 1) => source expression failed to match any pattern in form (funcall + 1 1)