‘Expression’ here is not being used in its colloquial sense,
that of mathematical expressions. Those are calls (see
call) in R, and an R expression vector is a list of
calls, symbols etc, for example as returned by parse.
As an object of mode "expression" is a list, it can be
subsetted by [, [[ or $, the latter two extracting
individual calls etc. The replacement forms of these operators can be
used to replace or delete elements.
expression and is.expression are primitive functions.
expression is ‘special’: it does not evaluate its arguments.