anchor.diff:      (assert-error 'type-error
   		  (setf (ninth list) 1))))
   		  
  -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  -;;;
  -;;; Tests for the (setf tenth) function
  -
  +(define-test setf.ninth.1
  +  (let ((list (copy-tree '(0 0 0 0 0 0 0 0 0 0))))
  +    (assert-equal 1 (setf (ninth list) 1))
  +    (assert-equal '(0 0 0 0 0 0 0 0 1 0) list)))
  +
  +(define-test setf.ninth.error.1
  +  (let ((list (copy-tree '(0 0 0 0 0 0 0 0 0 0))))
  +    (setf (cdr (nthcdr 7 list)) 1)
  +    (assert-error 'type-error
  +		  (setf (ninth list) 1))))
  +		  
  +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  +;;;
  +;;; Tests for the (setf tenth) function and setf expander
  +
  +(define-test setf.tenth.1
  +  (let ((list (copy-tree '(0 0 0 0 0 0 0 0 0 0))))
  +    (assert-equal 1 (setf (tenth list) 1))
  +    (assert-equal '(0 0 0 0 0 0 0 0 0 1) list)))
  +
  +(define-test setf.tenth.error.1
  +  (let ((list (copy-tree '(0 0 0 0 0 0 0 0 0 0))))
  +    (setf (cdr (nthcdr 8 list)) 1)
  +    (assert-error 'type-error
  +		  (setf (tenth list) 1))))
  +		  
   (define-test setf.tenth.1
     (let ((list (copy-tree '(0 0 0 0 0 0 0 0 0 0))))
       (assert-equal 1 (setf (tenth list) 1))
  
positive.code:     (assert-error 'type-error
  		  (setf (cdaaar list) 1))))
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;;
  ;;; Tests for the (setf cdaadr) function
  
  (define-test |setf cdaadr 1|
    (let ((list (copy-tree '((((0 . 0) . (0 . 0)) . ((0 . 0) . (0 . 0))) . 
  
negative.code:     (assert-error 'type-error
  		  (setf (cddddr list) 1))))
  
  (define-test |setf cddddr apply 1|
    (let ((list (copy-tree '((((0 . 0) . (0 . 0)) . ((0 . 0) . (0 . 0))) . 
  			   (((0 . 0) . (0 . 0)) . ((0 . 0) . (0 . 0)))))))
      (assert-equal 1 (apply #'(setf cddddr) (list 1 list)))
      (assert-equal '((((0 . 0) . (0 . 0)) . ((0 . 0) . (0 . 0))) .
  		    (((0 . 0) . (0 . 0)) . ((0 . 0) . (0 . 1))))
  		  list)))
  
  (define-test |setf cddddr apply error 1|
    (let ((list 0))
      (assert-error 'type-error
  		  (apply #'(setf cddddr) (list 1 list)))))
  
  (define-test |setf cddddr apply error 2|
    (let ((list (copy-tree '((((0 . 0) . (0 . 0)) . ((0 . 0) . (0 . 0))) . 
  			   (((0 . 0) . (0 . 0)) . ((0 . 0) . (0 . 0)))))))
      (setf (cdr list) 0)
      (assert-error 'type-error
  		  (apply #'(setf cddddr) (list 1 list)))))
  
  (define-test |setf cddddr apply error 3|
    (let ((list (copy-tree '((((0 . 0) . (0 . 0)) . ((0 . 0) . (0 . 0))) . 
  			   (((0 . 0) . (0 . 0)) . ((0 . 0) . (0 . 0)))))))
      (setf (cddr list) 0)
      (assert-error 'type-error
  		  (apply #'(setf cddddr) (list 1 list)))))
  
  (define-test |setf cddddr apply error 4|
    (let ((list (copy-tree '((((0 . 0) . (0 . 0)) . ((0 . 0) . (0 . 0))) . 
  			   (((0 . 0) . (0 . 0)) . ((0 . 0) . (0 . 0)))))))
      (setf (cdddr list) 0)
      (assert-error 'type-error
  		  (apply #'(setf cddddr) (list 1 list)))))
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;;
  ;;; Tests for the (setf first) function and setf expander
  
  (define-test setf.first.1
    (let ((list (copy-tree '(0 0 0 0 0 0 0 0 0 0))))
  