When we apply phrase substitution on a non-terminal node, then any simplification operation (including dropping, reordering and substitution) cannot happen on its descendants any more because when a node has been replaced then its descendants are no longer existing.
for each non-terminal node we must decide whether a substitution should take place at this node or at its descendants.