These functions are not designed to be used directly, we advise to use the
syntaxes described in ?declare
instead. check_arg
checks that arguments
satisfy an assertion, and if relevant make them into active bindings to make sure they
always satisy it. check_output
checks that the value, presumably a return
value, satisfies an assertion,
check_output(.output, .assertion, ...)check_arg(.arg, .assertion, ..., .bind = FALSE)
function output
an assertion
additional arguments passed to assertion
function argument
whether to actively bind the argument so it cannot be modified unless it satisfies the assertion
.output
if it satisfies the assertion, fails otherwise.
returns NULL
invisibly, called for side effects.