anchor.diff:                    (replace new-array array)))
              new-array))
           ((%simple-1d-array-p array)
  -         (let ((new-array (if initial-element-p
  -                              (make-simple-array (first new-dimensions) (if element-type-p element-type (array-element-type array)) area initial-element)
  -                              (make-simple-array (first new-dimensions) (if element-type-p element-type (array-element-type array)) area))))
  +         (let ((new-array (make-simple-array (first new-dimensions)
  +                                             (if element-type-p
  +                                                 (upgraded-array-info element-type)
  +                                                 (array-element-info array))
  +                                             area
  +                                             initial-element
  +                                             initial-element-p)))
              (cond (initial-contents-p
                     (initialize-from-initial-contents new-array initial-contents))
                    (t
  
positive.code:                 ;; character arrays are special.
                  (not (eql upgraded-element-type 'character)))
             ;; Create a simple 1D array.
             (let ((array (if initial-element-p
                              (make-simple-array (first dimensions) element-type area initial-element)
                              (make-simple-array (first dimensions) element-type area))))
               (when initial-contents-p
                 (initialize-from-initial-contents array initial-contents))
               array))
  
negative.code: (defun bit-vector-p (object)
    (typep object '(array bit (*))))
  
  (defun make-simple-array (length info area initial-element initial-element-p)
    (let* ((array (make-simple-array-1 length info area)))
      (when initial-element-p
        (unless (typep initial-element (specialized-array-definition-type info))
          (error 'type-error :expected-type (specialized-array-definition-type info) :datum initial-element))
        (unless (eql initial-element (specialized-array-definition-zero-element info))
          (fill array initial-element)))
      array))
  