code: public void expand() {
      join(p, r.first());
      join(r.last(), n);
      // Necessary so that garbage collector
      // can delete rule and guard.
      r.theGuard.r = null;
      r.theGuard = null;
    }
docs: This symbol is the last reference to its rule. The contents of the rule are substituted in its
  place.