         ;; will not be hit and therefore autoloads will not be
         ;; generated for the dependencies in that situation if we
         ;; don't do it again in `straight-use-package'.
-        (when-let ((dependencies (straight--get-dependencies package)))
+        (when-let* ((dependencies (straight--get-dependencies package)))
           (dolist (dependency dependencies)
             ;; The implicit meaning of the first argument to
             ;; `straight-use-package' here is that the default recipes

            (cl-return)))))
    ;; Step 2 is to check if the given recipe conflicts with an
    ;; existing recipe for the *same* package.
    (when-let ((existing-recipe (gethash package straight--recipe-cache)))
      (cl-dolist (keyword
                  (cons :type
                    (append straight--build-keywords
                            ;; As in Step 1, it doesn't matter which
                            ;; recipe we get `:type' from.
                            (straight-vc-keywords type))))
        (unless (equal (plist-get recipe keyword)
                       (plist-get existing-recipe keyword))
          ;; Same reasoning as with the previous warning.

    ;; Step 1 is to check if the given recipe conflicts with an
    ;; existing recipe for a *different* package with the *same*
    ;; repository.
    (when-let* ((existing-recipe (gethash local-repo straight--repo-cache)))
      ;; Avoid signalling two warnings when you change the recipe for
      ;; a single package. We already get a warning down below in Step
      ;; 2, no need to show another one here. Only signal a warning
