anchor.diff:      transformation)))
   
   ;;; Optimization:  Drop references with no effect.
  -(defmethod lazy-rehape ((lazy-array lazy-array)
  -                        (shape shape)
  -                        (identity-transformation identity-transformation))
  +(defmethod lazy-rehape
  +    ((lazy-array lazy-array)
  +     (shape shape)
  +     (identity-transformation identity-transformation))
     (if (and (shape-equal (shape lazy-array) shape)
              ;; Don't drop references to range immediates.  The reason for
              ;; this is that we never want these immediates to appear as
  
positive.code:                  (subshapep relevant-shape input-shape))
        (error "~@<Invalid reference to ~S with shape ~S and transformation ~S.~:@>"
               lazy-array shape transformation))))
  
negative.code:       (call-next-method)))
  
  ;;; Handle empty shapes.
  (defmethod lazy-rehape
      ((lazy-array lazy-array)
       (null null)
       (transformation transformation))
    (empty-array))
  
  ;;; Error handling.
  (defmethod lazy-rehape :before
  