Expanding on your point — irrespective of whether in-place mutations eventually happen, it creates referential opacity using the imperative paradigm, which is contrary to Redux's ethos.
where is it from? who decided this? openning Redux motivation:
https://redux.js.org/introduction/motivation
> This complexity is difficult to handle as we're mixing two concepts that are very hard for the human mind to reason about: mutation and asynchronicity. I call them Mentos and Coke. Both can be great in separation, but together they create a mess.
And again:
> Both can be great in separation
Here we have the separation, what's the problem?