Exec

What about existing functions that don’t support tidy dots? Use exec

arg_name  <- "na.rm"
arg_val <- TRUE
exec("mean", 1:10, !!arg_name := arg_val)
#> [1] 5.5

Note that you do not unquote arg_val.

Also exec is useful for mapping over a list of functions:

x <- c(runif(10), NA)
funs <- c("mean", "median", "sd")
purrr::map_dbl(funs, exec, x, na.rm = TRUE)
#> [1] 0.6873447 0.7594070 0.2885189