code: def _update_expression_reference(self, # pylint: disable=no-self-use
                                       grammar: Grammar,
                                       parent_expression_nonterminal: str,
                                       child_expression_nonterminal: str) -> None:
          
          grammar[parent_expression_nonterminal].members = \
                  [member if member.name != child_expression_nonterminal
                   else grammar[child_expression_nonterminal]
                   for member in grammar[parent_expression_nonterminal].members]
docs: When we add a new expression, there may be other expressions that refer to
          it, and we need to update those to point to the new expression.