anchor.diff:  ;;; is not a list, we would like the error message to mention that,
   ;;; and not for instance that CAR was given a non-list. 
   
  -(defun generate-c*r-message (function-name prefix)
  -  (if (null prefix)
  -      (format nil
  -              "The function ~a was given an argument~@
  +(eval-when (:compile-toplevel :load-toplevel)
  +  (defun generate-c*r-message (function-name prefix)
  +    (if (null prefix)
  +        (format nil
  +                "The function ~a was given an argument~@
                  that is neither NIL nor a CONS cell"
  -              function-name)
  -      (format nil
  -              "The function ~a was given a list whose ~@
  +                function-name)
  +        (format nil
  +                "The function ~a was given a list whose ~@
                  C~{~a~}R is neither NIL nor a CONS cell"
  -              function-name
  -              (reverse prefix))))
  +                function-name
  +                (reverse prefix)))))
   
   ;;; FIXME fix the error messsage to signal a particular condition
   (defmacro define-c*r-function (function-name letters)
  
positive.code: (define-setf-c*r-function cdddar "DDDA")
  (define-setf-c*r-function cddddr "DDDD")
  
  (define-setf-c*r-function first   "A")
  (define-setf-c*r-function second  "AD")
  (define-setf-c*r-function third   "ADD")
  (define-setf-c*r-function fourth  "ADDD")
  
negative.code: (in-package :sicl-cons-high)
  
  ;;; We want for error messages to be phrased in terms of a construct
  ;;; that was directly used by the user's code.  So for instance, if
  