State + move = new state
Sia il vecchio stato che il nuovo stato sono immutabili. Sposta non muta lo stato della scheda, ma crea una copia del vecchio stato con lo spostamento aggiunto.
Immagina un'implementazione inefficiente in cui lo stato della scheda è solo una lista collegata di mosse prese e ogni nuova mossa aggiunge semplicemente un'altra testa alla lista collegata. Ad esempio, se tengo un riferimento a una testa specifica di una lista collegata di 5 mosse (che rappresenta lo stato della scacchiera), l'aggiunta di più mosse non cambia nulla per quanto riguarda quel valore, continua a puntare su una lista di 5 mosse pari se l'intera lista ora ha 9 mosse. Immutabilità.