Por que os objetos no Redux devem ser imutáveis?

Por que os objetos no Redux devem ser imutáveis? Eu sei que algumas estruturas, como Angular2, usarão onPush e podem tirar proveito da imutabilidade para comparar estados de visualizações para renderização mais rápida, mas estou me perguntando se há outras razões pelas quais o Redux é independente de estrutura e ainda menciona em seus próprios documentos para usar imutabilidade (independentemente da estrutura).

Aprecie qualquer feedback.

questionAnswers(3)

yourAnswerToTheQuestion