anchor.diff:  (eval-when (:compile-toplevel :load-toplevel :execute)
   (%define-type-symbol 'vector 'vectorp)
   )
  +
  +(defun bit-array-p (object)
  +  (and (arrayp object)
  +       (eql (array-element-type object) 'bit)))
   
   (defun bit-vector-p (object)
     (and (vectorp object)
  
positive.code: (%define-compound-type 'array 'array-type-p)
  (eval-when (:compile-toplevel :load-toplevel :execute)
  (%define-type-symbol 'array 'arrayp)
  )
  
  (defun upgraded-array-element-type (typespec &optional environment)
  
negative.code:            (unless displaced-index-offset
               (setf displaced-index-offset 0))
             (%make-array-header +object-tag-array+ displaced-to fill-pointer displaced-index-offset dimensions area))
            ((or (eql element-type 'character)
                 (and (subtypep element-type 'character)
                      (not (subtypep element-type 'nil))))
             (let* ((total-size (apply #'* dimensions))
                    (backing-array (make-simple-array total-size '(unsigned-byte 8) area))
                    (array (%make-array-header +object-tag-string+ backing-array fill-pointer nil dimensions area)))
  