anchor.diff:      (#.+object-tag-array-unsigned-byte-2+
        (multiple-value-bind (offset bit)
            (truncate index 4)
  -       (ldb (byte 2 bit)
  +       (ldb (byte 2 (* bit 2))
               (%object-ref-unsigned-byte-8 array offset))))
       (#.+object-tag-array-unsigned-byte-4+
        (multiple-value-bind (offset bit)
            (truncate index 2)
  -       (ldb (byte 4 bit)
  +       (ldb (byte 4 (* bit 4))
               (%object-ref-unsigned-byte-8 array offset))))
       (#.+object-tag-array-unsigned-byte-8+
        (%object-ref-unsigned-byte-8 array index))
  
positive.code:      (check-type value (unsigned-byte 2))
       (multiple-value-bind (offset bit)
           (truncate index 4)
         (setf (ldb (byte 2 bit)
                    (%object-ref-unsigned-byte-8 array offset))
               value)))
      (#.+object-tag-array-unsigned-byte-4+
       (check-type value (unsigned-byte 4))
       (multiple-value-bind (offset bit)
           (truncate index 2)
         (setf (ldb (byte 4 bit)
                    (%object-ref-unsigned-byte-8 array offset))
               value)))
      (#.+object-tag-array-unsigned-byte-8+
  
negative.code:     (#.+object-tag-array-signed-byte-2+
       (multiple-value-bind (offset bit)
           (truncate index 4)
         (sign-extend (ldb (byte 2 (* bit 2))
                           (%object-ref-unsigned-byte-8 array offset))
                      2)))
      (#.+object-tag-array-signed-byte-4+
       (multiple-value-bind (offset bit)
           (truncate index 2)
         (sign-extend (ldb (byte 4 (* bit 4))
                           (%object-ref-unsigned-byte-8 array offset))
                      4)))
      (#.+object-tag-array-signed-byte-8+
  