   (straight-transaction
     ;; If `straight--convert-recipe' returns nil, the package is
     ;; built-in. No need to go any further.
-    (if-let ((recipe (straight--convert-recipe
-                      (or
-                       (straight--get-overridden-recipe
-                        (if (listp melpa-style-recipe)
-                            (car melpa-style-recipe)
-                          melpa-style-recipe))
-                       melpa-style-recipe)
-                      cause)))
+    (if-let* ((recipe (straight--convert-recipe
+                       (or
+                        (straight--get-overridden-recipe
+                         (if (listp melpa-style-recipe)
+                             (car melpa-style-recipe)
+                           melpa-style-recipe))
+                        melpa-style-recipe)
+                       cause)))
         (straight--with-plist recipe
             (package local-repo)
           ;; We need to register the recipe before building the

  ;; built in.
  ;;
  ;; [1]: https://emacs.stackexchange.com/q/33892/12534
  (if-let ((pair (if symbol (assq key alist) (assoc key alist))))
      (setcdr pair val)
    (push (cons key val) alist))
  alist)

This function is placed on `before-save-hook' by
`straight-live-modifications-mode'."
  (when buffer-file-name
    (when-let* ((local-repo (straight--determine-repo buffer-file-name)))
      (straight--register-modification-in-build-cache local-repo))))

(define-minor-mode straight-live-modifications-mode
