O conceito de imutabilidade é apresentado no Clojure, juntamente com a possibilidade de redefinição de uma "variável". Se no meio de uma grande função, eu redefinir uma variável, o que acontecerá com o programa?
Exemplo:
No ponto A: definição de variável
No ponto B: Processamento de uma outra função, esperando a variável do ponto A.
Pela imutabilidade da linguagem, eu teria a garantia que essa variável não ia mudar. Porém, se no meio desses dois pontos de uma função houver uma redefinição dessa mesma variável, ou seja, eu teria o mesmo nome com novos valores. O que vai acontecer com a execução dos script?