; Return the association list formed by keys from key-list and values from value-list.
; Terminate when the shortest of the lists is exhausted.
(define (pair-up key-list value-list)
(if (or (null? key-list) (null? value-list))
'()
(cons
(cons (car key-list) (car value-list))
(pair-up (cdr key-list) (cdr value-list)))))