anchor.diff:  
   (declaim (inline hash-coords))
   (defun hash-coords (x1 y1 x2 y2)
  -  (declare (type real x1 y1 x2 y2))	;XXX Someday this should be float
  +  (declare (type coordinate x1 y1 x2 y2))
     (let ((hash-val 0))
         (declare (type fixnum hash-val))
         (labels ((rot4 (val)
  
positive.code: 	    (t
  	     ;; It doesn't need to be updated, but it does go into the
  	     ;; parent's sequence of records
  	     (when *trace-updating-output*
  	       (format *trace-output* "clean ~S~%" record))
               ;;
               (multiple-value-bind (cx cy) (stream-cursor-position stream)
                 (multiple-value-bind (sx sy) (output-record-start-cursor-position record)
  
negative.code:     ((record standard-updating-output-record) stream displayer)
    (multiple-value-bind (x y)
        (output-record-position record)
      (let ((sub-record (sub-record record)))
        (when sub-record
          (delete-output-record sub-record record)))
      ;; Don't add this record repeatedly to a parent updating-output-record.
      (unless (eq (output-record-parent record)
  		(stream-current-output-record stream))
  