Converta argumentos de variáveis ​​em lista e aplique uma função à lista resultante [Clojure]

Se recebermos um número variável de argumentos em uma função e quisermos aplicar uma função com um único parâmetro de lista a essa lista variável de
argumentos, há uma maneira simples de fazer isso usando a função apply .

(defn apply_args_to_list [f & args] (apply f (list args)))

Então, digamos que o chamemos com a primeira função que espera uma lista / vetor:

(apply_args_to_list first 1 2 3 4)
1