(define (look-up given-key set-of-records)
(cons ((null? set-of-records?) #f)
(else
(let ((cur-entry (entry set-of-records))
(let ((cur-key (key cur-entry)))
(cond ((= cur-key given-key) cur-entry)
((< cur-key given-key)
(look-up given-key
(left-branch set-of-records)))
((> cur-key given-key)
(look-up given-key
(right-branch set-of-records))))))))))

(cons ((null? set-of-records?) #f)
(else
(let ((cur-entry (entry set-of-records))
(let ((cur-key (key cur-entry)))
(cond ((= cur-key given-key) cur-entry)
((< cur-key given-key)
(look-up given-key
(left-branch set-of-records)))
((> cur-key given-key)
(look-up given-key
(right-branch set-of-records))))))))))
