anchor.diff:    (let* ((byte-1    (read-my-byte stream))
            (byte-2    (read-my-byte stream))
            (unsigned  (logior (ash byte-2 8) byte-1)))
  -    (declare (type fixnum unsigned))
       (if signed (unsigned-to-signed unsigned 2) unsigned)))
   
   (defun read-3-bytes-integer (stream  &key signed)
  
positive.code: 
  ;;; 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)
    (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))
      (t form)))
  
  (defun read-fixed-length-integer (length 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)
  