anchor.diff:  	    (setq children (replace children children
   				    :start1 pos
   				    :start2 (1+ pos)))
  -	    (decf (fill-pointer children)))))))
  +	    (decf (fill-pointer children))
  +            (setf (output-record-parent child) nil))))))
   
   (defmethod clear-output-record ((record standard-sequence-output-record))
  -  (with-slots (children) record
  +  (let ((children (output-record-children record)))
  +    (map 'nil (lambda (child) (setf (output-record-parent child) nil))
  +         children)
       (fill children nil)
       (setf (fill-pointer children) 0)))
   
  
positive.code: ;;; Text output catching methods
  (defmacro without-local-recording (stream &body body)
    `(letf (((slot-value ,stream 'local-record-p) nil))
      ,@body))
  
  (defmethod stream-write-line :around
      ((stream standard-output-recording-stream) line)
    (when (and (stream-recording-p stream)
               (slot-value stream 'local-record-p))
      (let* ((medium (sheet-medium stream))
             (text-style (medium-text-style medium)))
        (stream-add-string-output stream line 0 nil text-style
                                  (stream-string-width stream line
                                                       :text-style text-style)
  
negative.code:            (setf initial-x1 x1
                   initial-y1 y1)))
         (defmethod ,method-name :around ((stream output-recording-stream) ,@args)
           ;; XXX STANDARD-OUTPUT-RECORDING-STREAM ^?
  	 (with-sheet-medium (medium stream)
  	   (when (stream-recording-p stream)
  	     (let ((record (make-instance ',class-name
  