(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)))