Gli alberi di sintassi dovrebbero essere immutabili. Altrimenti, sono chiaramente una bugia.
L'albero della sintassi rappresenta l'input sintattico dell'utente, quindi, a meno che non si intenda modificare il testo del codice sorgente, è un non-iniziatore completo per mutare l'albero.
Se i passaggi semantici devono lavorare con un albero, hanno bisogno del loro albero semantico. Riutilizzare arbitrariamente un albero completamente diverso che ha uno scopo completamente diverso e un significato fondamentale è un cattivo piano.
Gli alberi semantici non sono comunque alberi, è banale produrre programmi con ad es. funzioni ricorsive che sono grafici, mentre gli alberi di sintassi sono in realtà alberi.