anchor.diff:                  for j from (1- end) downto start
                   sum (ash (aref octet-vec j) (* i 8)))))))
   
  -(defun integer-to-octets (bignum &key (n-bits (integer-length bignum))
  -                                (big-endian t))
  +(defun integer-to-octets (bignum &aux
  +                                   (n-bits (integer-length bignum))
  +                                   (big-endian t))
     (let* ((n-bytes (ceiling n-bits 8))
            (octet-vec (make-array n-bytes :element-type '(unsigned-byte 8))))
       (declare (type (simple-array (unsigned-byte 8) (*)) octet-vec))
  
positive.code:                   (aref hexdigits (ldb (byte 4 0) byte))))
         finally (return string))))
  
  (defun octets-to-integer (octet-vec &key (start 0) end (big-endian t) n-bits)
    (declare (type (simple-array (unsigned-byte 8) (*)) octet-vec))
    (let ((end (or end (length octet-vec))))
      (multiple-value-bind (complete-bytes extra-bits)
          (if n-bits
              (truncate n-bits 8)
  
negative.code:            (type fixnum start)
             (type (or cl:null fixnum) end)
             (optimize (speed 3) (safety 1)))
    (let* ((length (- end start))
           (hexdigits #.(coerce "0123456789abcdef" 'simple-base-string)))
      (loop with string = (ecase element-type
                            ;; so that the compiler optimization can jump in
  