anchor.diff:        (progn
           (with-accessors ((center center)) itv
             (setf (slot-value itv 'percent) new-percent)
  -          (slot-buf-reset new-percent center)
  -          (setf (slot-value itv 'width)
  -                (* 0.02 new-percent (abs center)))))))
  +          (slot-buf-reset new-percent center)))))
   
   (defmethod (setf center) (new-center (itv interval))
  -  (with-accessors ((percent percent)) itv
  -    (setf (slot-value itv 'center) new-center)
  -    (slot-buf-reset percent new-center)
  -    (setf (slot-value itv 'width)
  -          (* 0.02 percent (abs new-center)))))
  +  (if (zerop new-center)
  +      (error "Illegal center value!")
  +      (with-accessors ((percent percent)) itv
  +        (setf (slot-value itv 'center) new-center)
  +        (slot-buf-reset percent new-center))))
   
   ;; Define an :after method specialized on `inter` class to check whether
   ;; the :percent is negative.
   (defmethod initialize-instance :after ((itv interval) &key)
     (with-accessors ((percent percent)
                      (center center)) itv
  -    (if (> 0 percent)
  +    (if (or (> 0 percent)
  +            (zerop center))
           (error "Illegal construction of class interval.")
           (slot-buf-reset percent center))))
   
  
positive.code:           (center itv)
            (percent itv)))
  
  ;;
  ;; The arithmetic operations will be defined later.
  ;; This exercise is just for testing.
  ;;
  
  (defun main ()
    (format t "Load this file and use `make-interval`.~%"))
  
  (main)
  
  
negative.code: (defclass interval ()
    ((center
      :initarg :center
      :initform (error "Must supply the center.")
      :reader center
      :documentation "The center of the interval")
     (percent
      :initarg :percent
      :initform (error "Must supply the percent.")
      :reader percent
      :documentation "The percentage tolerance")
     (width
  