anchor.diff:      ((record standard-updating-output-record) stream displayer)
     (multiple-value-bind (x y)
         (output-record-position record)
  -    (when (sub-record record)
  -      (delete-output-record (sub-record record) 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))
  
positive.code:     (let ((res +nowhere+))
        (loop for (r) in erase-overlapping do (setf res (region-union res r)))
        (loop for (r) in move-overlapping do (setf res (region-union res r)))
        (replay history stream res)) ))
  
  (defclass updating-stream-state (complete-medium-state)
    ((cursor-x :accessor cursor-x :initarg :cursor-x :initform 0)
  
negative.code: 	    (t
  	     ;; It doesn't need to be updated, but it does go into the
  	     ;; parent's sequence of records
               ;;
               (multiple-value-bind (cx cy) (stream-cursor-position stream)
                 (multiple-value-bind (sx sy) (output-record-start-cursor-position record)
  