It's disconcerting to see this is at the end "mutable/data-binding or immutable/unidirectional, that… seems to be the real issue."
No... It’s not... at all. Ngrx = Redux + RxJS. So... With both, you are encouraged to do immutable state. Maybe you were thinking of ng1. Also, data-binding != two-way data-binding.
I skimmed through the article planning on going through it in more depth, but I probably won't if something that basic and incorrect is the entire conclusion.
I appreciate the number of attempts at tackling this question, but I don't understand how angular can be so consistently misrepresented, at really basic levels. To me it would be better if nobody tried to be authoritative without actually knowing what they were talking about.
Sorry for the harshness, but people in real companies read these and base important decisions on them.