   ;;    of code, you can specify your custom recipe in the first
   ;;    `use-package' declaration and then specify only `auctex' as
   ;;    the recipe in the second `use-package' declaration.
+  ;;
+  ;; 3. I'm using `straight-rebuild-package' or
+  ;;    `straight-rebuild-all', which both call `straight-use-package'
+  ;;    with just the package name and expect this not to introduce
+  ;;    conflicts.
   (or (and (symbolp melpa-style-recipe)
            (gethash (symbol-name melpa-style-recipe) straight--recipe-cache))
       (let* (;; It's important to remember whether the recipe was

            ;; The package was installed successfully.
            (puthash package t straight--success-cache)
            t))))))

;;;###autoload
(defun straight-update-package (package)

            ;; in order to byte-compile properly.
            (straight--add-package-to-load-path recipe)
            (straight--maybe-load-build-cache)
            (when
                (or
                 (and
                  straight--packages-to-rebuild
                  (or (eq straight--packages-to-rebuild :all)
                      (gethash package straight--packages-to-rebuild))
                  (not (gethash package straight--packages-not-to-rebuild))
                  ;; The following form returns non-nil, so it doesn't
                  ;; affect the `and' logic.
                  (puthash package t straight--packages-not-to-rebuild))
                 (straight--package-might-be-modified-p recipe))
              (straight--build-package recipe cause))
            (straight--maybe-save-build-cache)
            ;; Here we are not actually trying to build the
