(define-syntax if-has-placeholder? (syntax-rules (_) ((x T F) F) ((x T F _ arg ...) T) ((x T F arg0 arg ...) (x T F arg ...)))) (if-has-placeholder? 1 2 _ 3) => 1 (if-has-placeholder? 1 2 3 4 _ 5) => Error: unbound variable: x