anchor.diff:            lower-boundary  #x80
             upper-boundary  #xBF)
       (%unread-byte)
  -    (%return :invalid-second-byte))
  +    (%return-error :invalid-second-byte))
     ;; 5
     (setf lower-boundary  #x80
           upper-boundary  #xBF)
  
positive.code:   ;; 1
    (when (and %eofp (plusp bytes-needed))
      (setf bytes-needed 0)
      (%return :truncated-sequence))
    ;; 2
    (when %eofp
      (%return '%finished))
    ;; 3
    (when (zerop bytes-needed)
      (typecase %byte
        ;; 0x00 to 0x7F
        ((integer #x00 #x7f)  (%return '%code-point %byte))
        ;; 0xC2 to 0xDF
        ((integer #xc2 #xdf)  (setf bytes-needed    1
                                    code-point      (ldb (byte 5 0) %byte)))
  
negative.code:                              (setf bytes-needed  3
                                     code-point    (ldb (byte 3 0) %byte))))
        ;; Otherwise
        (t                    (%return-error :invalid-first-byte)))
      (%return-continue))
    ;; 4
    (unless (<= lower-boundary %byte upper-boundary)
      (setf code-point      0
  