Why “defuse”?
ignore <- function(arg) NULL
force <- function(arg) arg
ignore(warning("boom"))
#> NULL
force(warning("boom"))
#> Warning in force(warning("boom")): boom
expr(force(warning("boom")))
#> force(warning("boom"))
In a way, arguments are like booby traps which explode (evaluate) when touched. Defusing an argument can be seen as defusing the booby trap.