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 bref (ptr off &optional (bytes 1) (endianness :ne))
  +(defmacro bget (ptr off &optional (bytes 1) (endianness :ne))
     (let ((big-endian (member endianness '(:be #+cffi-features:big-endian :ne))))
       (once-only (ptr off)
         (ecase bytes
  
positive.code: (defparameter *foreign-string-mappings*
    (instantiate-concrete-mappings
     :optimize ((speed 3) (debug 0) (compilation-speed 0) (safety 0))
     :octet-seq-accessor bref
     :octet-seq-type foreign-pointer
     :code-point-seq-accessor babel::string-accessor
     :code-point-seq-type simple-string))
  
  (defun null-terminator-len (encoding)
  
negative.code:                           (dpb (mem-ref ,ptr :uint8 (1+ ,off)) (byte 8 8)
                                 (mem-ref ,ptr :uint8 ,off))))))))))
  
  (defmacro bset (val ptr off &optional (bytes 1) (endianness :ne))
    (let ((big-endian (member endianness '(:be #+cffi-features:big-endian :ne))))
      (ecase bytes
        (1 `(setf (mem-ref ,ptr :uint8 ,off) ,val))
  