(define (assert x . rest) (define (assert-single x) (if (not (boolean? x)) (error "x is not boolean") (if (not x) (error "x is false")))) (define (assert-multi args) (assert-single (car args)) (let ((rest (cdr args))) (if (not (nil? rest)) (assert-multi rest)))) (assert-multi (cons x rest)))