anchor.diff:  ;;; TODO: refactor, sigh.  Also, this should probably be a function.
   ;;; Would have to change Babel's API for that to be possible, I think.
   (defmacro bget (ptr off &optional (bytes 1) (endianness :ne))
  -  (let ((big-endian (member endianness '(:be #+big-endian :ne))))
  +  (let ((big-endian (member endianness
  +                            '(:be #+big-endian :ne #+little-endian :re))))
       (once-only (ptr off)
         (ecase bytes
           (1 `(mem-ref ,ptr :uint8 ,off))
  
positive.code:    :octet-seq-type foreign-pointer
     :code-point-seq-getter babel::string-get
     :code-point-seq-setter babel::string-set
     :code-point-seq-type simple-string))
  
  (defun null-terminator-len (encoding)
    (length (enc-nul-encoding (get-character-encoding encoding))))
  
negative.code:                                (mem-ref ,ptr :uint8 ,off))))))))))
  
  (defmacro bset (val ptr off &optional (bytes 1) (endianness :ne))
    (let ((big-endian (member endianness
                              '(:be #+big-endian :ne #+little-endian :re))))
      (ecase bytes
        (1 `(setf (mem-ref ,ptr :uint8 ,off) ,val))
        (2 (if big-endian
  