anchor.diff:  ;; and an association list, returns a new association list that is extended
   ;; to include the key/value pair. What is the name of this function?
   
  +;; Answer: acons
  +;; (documentation #'acons 'function)
  +;; Construct a new alist by adding the pair (KEY . DATUM) to ALIST
  +;; (acons key datum alist) == (cons (cons key datum) alist)
   
   
   ;; Exercise 3.12 [m]
  
positive.code: ;; for the same keyword.
  ;; Change the definition of find-all so that it works in KCL.
  
  
  
  ;;
  
negative.code: ;; in dotted pair notation when necessary but will use normal list notation
  ;; when possible
  
  (defun print-normal (lst)
    (cond ((null lst)
           (princ '()))
          ((null (rest lst))
           (princ lst))
          (t
           (let ((elem (first lst))
                 (next-lst (rest lst)))
             (princ "(")
             (dotimes (x (length-dotted-pair lst)) 
               (cond ((not (listp next-lst)) ; dotted list
                      (princ elem) (princ " . ") (princ next-lst) (princ ")")
                      (return))
                     ; case where first element is also a list
                     ((listp elem)
                      (print-normal elem)
                      (if (null next-lst)
                          (princ ")")
                          (princ " ")))
                     ; end of list, terminate
                     ((null next-lst)
                      (princ elem) (princ ")"))
                     (t ; normal case
                      (princ elem ) (princ " ")))
               (setq elem (first next-lst))
               (setq next-lst (rest next-lst)))))))
  
  (defun length-dotted-pair (lst)
    "Find the length of the input list, even if it has a dotted pair inside."
    (length-dotted-pair-iter lst 0))
  
  (defun length-dotted-pair-iter (lst count)
    (cond ((null lst) count)
          ((not (listp lst)) (1+ count))
          (t
           (length-dotted-pair-iter (rest lst) (1+ count)))))
  
  ;; Exercise 3.5 [h]
  ;;
  