#!r6rs (import (rnrs) (for (distinct) expand)) (define-syntax assert-distinct (lambda (stx) (syntax-case stx () ((_ args ...) (distinct? bound-identifier=? #'(args ...)) #'(args ...)) ((_ args ...) (syntax-violation 'assert-distinct "Duplicate name" #'(args ...)))))) (assert-distinct a b) (assert-distinct a a)