fn_body() is a simple wrapper around base::body(). It always
returns a \{ expression and throws an error when the input is a
primitive function (whereas body() returns NULL). The setter
version preserves attributes, unlike body<-.
Usage
fn_body(fn = caller_fn())
fn_body(fn) <- value
Arguments
fn
A function. It is looked up in the calling frame if not
supplied.
# fn_body() is like body() but always returns a block:fn <- function() do()
body(fn)
fn_body(fn)
# It also throws an error when used on a primitive function:try(fn_body(base::list))