the result is this argument, handed back unchanged, like x in identity(x); this is what draws the Returns edge.
only atomic data works here, never a closure, as with e1 in e1 > e2.
the result is one of this argument's values, like choices in match.arg(arg, choices).
called as a function, like FUN in lapply(x, FUN)
besides its value, the expression as written names a part of the result, like a in data.frame(a), which becomes the column a; passing identity(a) instead changes the name
selects a behavior instead of carrying data, like na.rm in sum(x, na.rm = TRUE)
evaluated whenever the call happens, even if the result goes unused, like x in force(x)
the open handle the call acts on, like con in close(con)
open to injection, so a call handing it unescaped data is a finding: system commands, R expressions, database queries, HTML, or JavaScript.
never evaluated, the definite counterpart of ArgProp.Forced: no path of the body reads it
declared without a default value, like x in nchar(x, type); says nothing about whether a call must supply it
quoted or evaluated in another frame, like expr in quote(expr)
a ArgProp.Resource whose default names none, like file in cat(..., file = ""), which prints to the console, or in capture.output(..., file = NULL); left out, the call accesses no file through it
only whether it was supplied matters, as with missing()
names the resource the call reads or writes, like file in write.csv(x, file).
only the shape is used (length, dimensions, names, other attributes), like x in nrow(x)
the result is computed from the argument's value, like x in sum(x)
what it refers to may be modified, like envir in assign(x, v, envir = e), or the file to names in file.copy(from, to)
What a single argument of a call is used for, as a bitmask (ArgProp.Forced/ArgProp.NoDefault lead, being the two bits the signature database can also state).