anchor.diff:  (defmethod output-record-count ((record standard-tree-output-record))
     (slot-value record 'child-count))
   
  -(defun map-over-tree-output-records (function record rectangle sort-order function-args)
  +(defun map-over-tree-output-records
  +    (function record rectangle sort-order function-args)
     (dolist (child (sort (spatial-trees:search rectangle
                                                (%tree-record-children record))
                          (ecase sort-order
  
positive.code:   (when errorp (error "Cannot delete a child from ~S." record)))
  
  (defmethod delete-output-record :after (child (record compound-output-record)
                                                &optional (errorp t))
    (declare (ignore errorp))
    (with-bounding-rectangle* (x1 y1 x2 y2) child
      (recompute-extent-for-changed-child record child x1 y1 x2 y2)))
  
negative.code:   (setf (rectangle-edges* record)
  	(values x-position y-position x-position y-position)))
  
  ;;; XXX I'd really like to get rid of the x and y slots. They are
  ;;; surely redundant with the bounding rectangle coordinates.
  (defclass compound-output-record (basic-output-record)
    ((x :initarg :x-position
        :initform 0.0d0
  