anchor.diff:    (setf bottom (clamp bottom 0 (terminal-height term)))
     (when (< top bottom)
       (sys.graphics::bitset (* (- bottom top) 16) (* (terminal-width term) 8)
  -                      #xFF000000 (terminal-framebuffer term)
  -                      (* top 16) 0)))
  +                          #xFF000000 (terminal-framebuffer term)
  +                          (+ (* top 16) (y-offset term)) (x-offset term))))
   
   (defun erase (term left right)
     (setf left (clamp left 0 (terminal-width term)))
  
positive.code:   (:default-initargs
     :interrupt-character nil
     :queued-bytes '()
     :state nil))
  
  (defmethod initialize-instance :after ((instance xterm-terminal))
    (let* ((fb (terminal-framebuffer instance))
           (dims (array-dimensions fb)))
      (setf (slot-value instance 'width) (truncate (second dims) 8)
            (slot-value instance 'height) (truncate (second dims) 16))))
  
  (defun give-up-parsing-escape (term)
    (format t "Failed to parse escape sequence ~S in state ~S.~%"
  
negative.code: 
  (defclass xterm-terminal (sys.int::stream-object)
    ((framebuffer :initarg :framebuffer :reader terminal-framebuffer)
     ;; Offsets in the framebuffer.
     (x-offs :initarg :x :reader x-offset)
     (y-offs :initarg :y :reader y-offset)
     (input :initarg :input)
     (queued-bytes :initarg :queued-bytes)
     (interrupt-character :initarg :interrupt-character :accessor interrupt-character)
  