anchor.diff:    (typep x 'output-record))
   
   (defclass displayed-output-record (standard-bounding-rectangle output-record-mixin)
  -  ((ink :initarg :ink :reader displayed-output-record-ink)))
  +  ((ink :initarg :ink :reader displayed-output-record-ink)
  +   (initial-x1 :initarg :initial-x1)
  +   (initial-y1 :initarg :initial-y1)))
   
   (defun displayed-output-record-p (x)
     (typep x 'displayed-output-record))
  
positive.code:     (values x y)))
  
  (defmethod setf*-output-record-position (nx ny (record output-record-mixin))
    (with-slots (x y) record
                (setq x nx
                      y ny)))
  
  (defmethod setf*-output-record-position :before (nx ny (record output-record))
    (multiple-value-bind (old-x old-y) (output-record-position record)
  
negative.code: (defmacro with-output-recording-options ((stream &key (record t) (draw t)) &body body)
    (declare (type symbol stream))
    (when (eq stream 't)
      (setq stream '*standard-output*))
    (let ((continuation-name (gensym)))
      `(let ((,continuation-name #'(lambda (,stream) ,@body)))
         (invoke-with-output-recording-options ,stream
  