anchor.diff:    (check-type endianness (or null (eql :le) (eql :be)))
     (let ((swap-var (gensym "SWAP"))
           (code-point-counter-name
  -          (intern (format nil "~a-CODE-POINT-COUNTER" name)))
  +          (format-symbol t '#:~a-code-point-counter (string name)))
           (encoder-name
  -          (intern (format nil "~a-ENCODER" name)))
  +          (format-symbol t '#:~a-encoder (string name)))
           (decoder-name
  -          (intern (format nil "~a-DECODER" name))))
  +          (format-symbol t '#:~a-decoder (string name))))
       (labels ((make-bom-check-form (end start getter src)
                  (if (null endianness)
                    ``(when (not (zerop (- ,,end ,,start)))
  
positive.code:                        (#.+byte-order-mark-code+
                           (incf ,,start ,',bytes) nil)
                         (#.+swapped-byte-order-mark-code-32+
                          (incf ,,start ,',bytes) T)
                         (T #+little-endian T)))
                   '()))
               (make-setter-form (setter code dest di)
                 ``(,,setter ,,code ,,dest ,,di ,',bytes
  
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))
  