&gt; What&#x27;s shared in there is the idea that unidirectional data flow is a whole lot easier to reason about<p>It makes <i>some</i> things a whole lot &quot;easier to reason about&quot; (so sick of that phrase), but other things not so &quot;easy to reason about&quot;, like, for instance, error handling. Getting my head wrapped around the fact that asynchronous errors had to live in their own stores and be handled in the same way as all other data passed to the view was certainly not &quot;easy&quot; to reason about and still doesn&#x27;t sit right with me to this day. You make concessions with every pattern and there is no silver bullet.