anchor.diff:            (if (eq test #'eql)
                 (tree-equal-eql tree1 tree2)
                 (tree-equal-test tree1 tree2 test)))
  -      (if (eq test-not #'eq)
  -          (tree-equal-not-eq tree1 tree2)
  -          (if (eq test #'eql)
  -              (tree-equal-not-eql tree1 tree2)
  -              (tree-equal-test-not tree1 tree2 test-not)))))
  +      (if test-not-p 
  +          (if (eq test-not #'eq)
  +              (tree-equal-not-eq tree1 tree2)
  +              (if (eq test-not #'eql)
  +                  (tree-equal-not-eql tree1 tree2)
  +                  (tree-equal-test-not tree1 tree2 test-not)))
  +          (tree-equal-eql tree1 tree2))))
   
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;;;
  
positive.code: ;;; Function tree-equal 
  
  (defun tree-equal-eq (tree1 tree2)
    (or (eq tree1 tree2)
        (and (consp tree1)
             (consp tree2)
             (tree-equal-eq (car tree1) (car tree2))
             (tree-equal-eq (cdr tree1) (cdr tree2)))))
  
  (defun tree-equal-eql (tree1 tree2)
    (or (eql tree1 tree2)
        (and (consp tree1)
             (consp tree2)
             (tree-equal-eql (car tree1) (car tree2))
             (tree-equal-eql (cdr tree1) (cdr tree2)))))
  
  (defun tree-equal-not-eq (tree1 tree2)
    (or (not (eq tree1 tree2))
        (and (consp tree1)
             (consp tree2)
             (tree-equal-not-eq (car tree1) (car tree2))
             (tree-equal-not-eq (cdr tree1) (cdr tree2)))))
  
  (defun tree-equal-not-eql (tree1 tree2)
    (or (not (eql tree1 tree2))
        (and (consp tree1)
             (consp tree2)
             (tree-equal-not-eql (car tree1) (car tree2))
             (tree-equal-not-eql (cdr tree1) (cdr tree2)))))
  
  (defun tree-equal-test (tree1 tree2 test)
    (or (funcall test tree1 tree2)
        (and (consp tree1)
             (consp tree2)
             (tree-equal-test (car tree1) (car tree2) test)
             (tree-equal-test (cdr tree1) (cdr tree2) test))))
  
  (defun tree-equal-test-not (tree1 tree2 test)
    (or (not (funcall test tree1 tree2))
        (and (consp tree1)
             (consp tree2)
             (tree-equal-test-not (car tree1) (car tree2) test)
  
negative.code:       (loop for remaining on elements
  	    until (null (cddr remaining))
  	    finally (setf (cdr remaining)
  			  (cadr remaining))
                      (return elements))))
  
  (define-compiler-macro list* (&whole form &rest args)
    (cond  ((null args) form)
  