anchor.diff:                  (set-octet 2 (logior #x80 (f-logand #x3f (f-ash code -6))))
                   (set-octet 3 (logand #x3f code))
                   (incf di 4))))
  -           ;; XXX: this return value is obviously wrong, but I'm
  -           ;; leaving this in until either STRING-TO-OCTETS or some
  -           ;; unit test catches it.
  -           finally (return (the fixnum (- d-start di))))))
  +           finally (return (the fixnum (- di d-start))))))
   
   (define-decoder :utf-8b (getter src-type setter dest-type)
     `(lambda (src start end dest d-start)
  
positive.code:                                        (encode-raw-octets 4)))))))
                              (t (encode-raw-octets 1)))
                            dest di)))
               finally (return (the fixnum (- d-start di)))))))
  
  ;;;; UTF-16
  
  
negative.code:                   (,setter (logior #xdc00 (f-logand high-bits #x3ff))
                             dest (+ di 2) 2)
                    (incf di 4)))
             finally (return (the fixnum (- di d-start))))))
  
  (define-decoder :utf-16 (getter src-type setter dest-type)
    `(lambda (src start end dest d-start)
  