anchor.diff:  
   (defun g ()
     (declare (optimize (safety 0) (speed 3) (debug 0)))
  -  (loop for l = *l2* then (cdr l)
  +  (loop with j = *j*
           repeat 1000000000
  -        maximize (y (car l))))
  +	do (y j)))
   
  -(time (g))
  +(time (g)) ; < 3s
   
   (defun yy (instance)
     (declare (optimize (safety 0) (speed 3) (debug 0)))
  
positive.code: (defclass c () ((%x :initarg :x :reader x)))
  
  (defparameter *l* (list (make-instance 'c :x 1)))
                 
  (setf (cdr *l*) *l*)
  
  (defun f ()
    (declare (optimize (safety 0) (speed 3) (debug 0)))
    (loop for l = *l* then (cdr l)
          repeat 1000000000
          maximize (x (car l))))
  
  (time (f))
  
  (defstruct s class rack)
  
  (defparameter *l2* 
    (let ((rack (make-array 2 :initial-contents '(10 1))))
      (list (make-s :class nil :rack rack))))
  
  (setf (cdr *l2*) *l2*)
  
  (defun y (instance)
    (declare (optimize (safety 0) (speed 3) (debug 0)))
  
negative.code: 
  (defun gg ()
    (declare (optimize (safety 0) (speed 3) (debug 0)))
    (loop with j = *j*
          repeat 1000000000
  	do (yy j)))
  
  (time (gg)) ; < 4.5s
  
  (defun yyy (instance)
    (declare (optimize (safety 0) (speed 3) (debug 0)))
  