anchor.diff:  
   ;;; 15.1.1.1.1. fixed length integer
   ;;; Little endian fixed-length integers with lengths (1 2 3 4 6 8)
  -(define-compiler-macro read-fixed-length-integer (&whole form bytes stream)
  +(define-compiler-macro read-fixed-length-integer (&whole form bytes stream &rest keys)
     (case bytes
  -    (1 `(read-my-byte ,stream))
  -    (2 `(read-2-bytes-integer ,stream))
  -    (3 `(read-3-bytes-integer ,stream))
  -    (4 `(read-4-bytes-integer ,stream))
  -    (8 `(read-8-bytes-integer ,stream))
  -    (10 `(read-10-bytes-integer ,stream))
  +    (1 `(read-my-byte ,stream ,@keys))
  +    (2 `(read-2-bytes-integer ,stream ,@keys))
  +    (3 `(read-3-bytes-integer ,stream ,@keys))
  +    (4 `(read-4-bytes-integer ,stream ,@keys))
  +    (8 `(read-8-bytes-integer ,stream ,@keys))
  +    (10 `(read-10-bytes-integer ,stream ,@keys))
       (t form)))
   
   (defun read-fixed-length-integer (length stream &key signed)
  
positive.code:          (byte-6    (read-my-byte stream))
           (unsigned
            (logior (ash byte-6 40) (ash byte-5 32) (ash byte-4 24)
                    (ash byte-3 16) (ash byte-2  8) byte-1)))
      (declare (type fixnum unsigned))
      (if signed (unsigned-to-signed unsigned 3) unsigned)))
  
  (defun read-8-bytes-integer (stream &key signed)
    (declare (type my-packet-stream stream))
    (let ((unsigned
           (logior (ash (read-4-bytes-integer stream) 32)
                   (read-4-bytes-integer stream))))
      (if signed (unsigned-to-signed unsigned 8) unsigned)))
  
  (defun read-10-bytes-integer (stream  &key signed)
  
negative.code:          (byte-3    (read-my-byte stream))
           (unsigned
            (logior (ash byte-3 16) (ash byte-2  8) byte-1)))
      (if signed (unsigned-to-signed unsigned 3) unsigned)))
  
  (defun read-4-bytes-integer (stream  &key signed)
  