‘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.