anchor.diff:              (:include layout)
               (:conc-name layout-)
               (:constructor make-lazy-array-layout
  -                (lazy-array)))
  +                (lazy-array
  +                 &aux
  +                   (ntype
  +                    (petalisp.type-inference:generalize-ntype
  +                     (element-ntype lazy-array))))))
     ;; An alist whose keys are buffers and whose values are the corresponding
     ;; load instructions.
     (buffer-loads '())
  
positive.code:                 (array-immediate storage
                   &aux
                     (lazy-array array-immediate)
                     (buffer
                      (make-buffer
                       :shape (shape array-immediate)
                       :ntype (element-ntype array-immediate)
                       :storage storage)))))
    (buffer nil :type buffer))
  
  
negative.code:         (kernel-targets kernel)
        (trivia:when-match (list (cons _ input))
            (instruction-inputs store-instruction)
          (when (eq input load-instruction)
            (return-from copy-kernel-p t))))))
  
  (defun copy-kernel-transformation (kernel)
  