anchor.diff:        (with-slots (start-x start-y end-x end-y x1 y1 x2 y2
                      initial-x1 initial-y1) record
   	  (multiple-value-bind (cx cy) (stream-cursor-position stream)
  -	    (setq start-x cx
  -		  start-y (+ cy (stream-vertical-spacing stream))
  +	    (setq start-x (coordinate cx)
  +		  start-y (coordinate (+ cy (stream-vertical-spacing stream)))
   		  end-x start-x
   		  end-y start-y
   		  x1 start-x
  
positive.code: (defmethod tree-recompute-extent ((record output-record))
    (with-slots (parent children x1 y1 x2 y2) record
      (if (null children)
  	(setq x1 0
  	      y1 0
  	      x2 0
  	      y2 0)
        (with-bounding-rectangle* (left top right bottom) (first children)
  	(loop for child in (rest children)
  	      do (with-bounding-rectangle* (l1 t1 r1 b1) child
  
negative.code: 					     string start end text-style width height
  					     new-baseline)
    (if end
        (setq end (min end (1- (length string))))
        (setq end (1- (length string))))
    (let ((length (max 0 (- (1+ end) start))))
      (setq string (make-array length :displaced-to string :displaced-index-offset start))
  