   :type 'hook)
 
 ;;;; Utility functions
+;;;;; Lists
+
+(defun straight--flatten (list)
+  "Return a flattened copy of LIST.
+Backward compatible shim for `flatten-tree'."
+  (if (listp list)
+      (apply 'append (mapcar #'straight--flatten list))
+    (list list)))
+
 ;;;;; Association lists
 
 (defun straight--normalize-alist (alist &optional test)

                     (el-get-dir (straight--repos-dir)))
             (pcase system-type ,@systems)))))

(defun straight--el-get-flatten (arg)
  "Return a version of ARG as a one-level list."
  (if (listp arg)
      (apply 'append (mapcar #'straight--el-get-flatten arg))
    (list arg)))

(defun straight-recipes-el-get-retrieve (package)
  "Look up a an `el-get' PACKAGE's recipe.
PACKAGE must be a symbol. If the package has an `el-get' recipe that

               (append '(:defaults)
                       (cl-remove-if (lambda (file)
                                       (string= "." file))
                                     (straight--flatten load-path))))
              (list '\` (cons name plist)))))))))

(defun straight-recipes-el-get-list ()
  "Return a list of recipes available in `el-get', as a list of strings."
