(define-macro (pushnew elem list)
`(cond ((not (find (lambda (e) (eq? e ,elem)) ,list))
(set! ,list (cons ,elem ,list)))))
+
+(define (assoc-multiple-set! alist . pairs)
+ (define (amset! alist pairs)
+ (cond ((< (length pairs) 2)
+ alist)
+ (else
+ (assoc-set! alist (car pairs) (cadr pairs))
+ (amset! alist (cddr pairs)))))
+ (amset! alist pairs))