anchor.diff:  (defun bit-read-bytes (bitio seq bit-endian byte-width
                          &key (start 0) end)
     "This reads UNSIGNED 'bytes' into SEQ given :START and :END keywords.
  -THe default span is the entire sequence. BIT-ENDIAN is how the
  +The default span is the entire sequence. BIT-ENDIAN is how the
   individual bits are read from the octet stream, and byte-width is how
   many bits wide a 'byte' is in the stream. Return how many elements
   have been read. The sequence is destructively modified. At EOF
  
positive.code:   "This function reads 1 or more bytes where each byte is defined by
  BYTE-WIDTH and BIT-ENDIAN. BYTE-WIDTH indicates how many bits are in
  the byte and it defaults to 8. BIT-ENDIAN defines how to read those
  bits from the octet stream. It defaults to :BE (big endian), which
  means the MSBit of an octet in the octet stream is read first and will
  be the MSBit of the byte being assembled. If :LE is selected, then the
  LSBits of the octet are read and assembled as the MSBits of the byte.
  After the bytes are read, they are arrangedf according to BYTE-ENDIAN
  in the traditional meaning of multi-byte integers and that defaults
  to :LE.  Afterwards, depending on UNSIGNEDP, defaulting to T, the
  value is either returned unsigned or treated as a twos complement
  number and possibly turned negative by sign extension. The integer is
  returned.  NOTE: The arguments don't have to require that you read
  multiple of 8 bits to assemble the number."
  
    (let ((value 0))
      (ecase byte-endian
  
negative.code: (defun make-bitio (octet-stream bitio/read-octet &rest init-args)
    "OCTET-STREAM must be a stream that is ready to read/write binary octets
  of (unsigned-byte 8) type. BITIO/READ-OCTET is a function associated with
  the OCTET-STREAM that reads a single octet from that stream. Returns an
  instance of a BITIO class."
    (apply #'make-instance 'bitio
           :octet-stream octet-stream
  