anchor.diff:                         (#.+byte-order-mark-code+
                            (incf ,,start ,',bytes) nil)
                          (#.+swapped-byte-order-mark-code-32+
  -                        (incf ,,start ,',bytes) T)
  -                       (T #+little-endian T)))
  +                        (incf ,,start ,',bytes) t)
  +                       (t #+little-endian t)))
                    '()))
                (make-setter-form (setter code dest di)
                  ``(,,setter ,,code ,,dest ,,di ,',bytes
  
positive.code:   (check-type name keyword)
    (let ((swap-var (gensym "SWAP"))
          (code-point-counter-name
            (intern (format nil "~a-CODE-POINT-COUNTER" name)))
          (encoder-name (intern (format nil "~a-ENCODER" name)))
          (decoder-name (intern (format nil "~a-DECODER" name))))
      (labels ((make-bom-check-form (end start getter seq)
                 (if (null endianness)
                   ``((,',swap-var
  
negative.code:                (case endianness
                   (:le ``(,,getter ,,src ,,i 2 :le))
                   (:be ``(,,getter ,,src ,,i 2 :be))
                   (t ``(if ,',swap-var
                          (,,getter ,,src ,,i 2 :re)
                          (,,getter ,,src ,,i 2 :ne)))))
               (make-setter-form (setter code dest di)
                 (case endianness
                   (:be ``(,,setter ,,code ,,dest ,,di 2 :be))
                   (:le ``(,,setter ,,code ,,dest ,,di 2 :le))
                   (t ``(,,setter ,,code ,,dest ,,di 2 :ne)))))
        `(progn
           (define-octet-counter ,name (getter type)
             `(utf16-octet-counter ,getter ,type))
  