(assoc <obj> <alist>) is defined as follows:
<alist> (for “association list”) must be a list of pairs. This procedure finds the first pair in <alist> whose car field is <obj> and returns that pair. If no pair in <alist> has <obj> as its car then #f (not the empty list) is returned.
This procedure uses equal? to compare <obj> with the car fields of the pairs in <alist> (in contrast to assq, which uses eq?).
 (assoc 3 (list (list 1 2) (list 3 4) (list 5 6))) (3 4)  (pp assoc) (lambda (obj alist) (internal-assoc equal? obj alist)) ok