Substitute differs from
in so far as its first argument can be a variable that
contains an object of mode "language". In that case,
substitutions take place inside this object.
any object, unevaluated expression, or unevaluated language construct, such as a sequence of calls inside braces
a named list, environment, data frame or data set.
The function body is just
An object of storage mode "language" or "symbol".
1 2 3