Just wanted to comment on this article: "5 useful tips for real-world Redux" in the context of SAM
Use a getters reducer to isolate the state shape this is not necessary since only the model and the state function can access the application state. Every element outside of the Model or State function see "props", there is no need for "getting" anything, in a reactive architecture you don't "get" anything, you are passed props you react to...
Use JSON schema to validate the state shape I think that's a good one, that SAM should reuse prior to initiating a unit of work
Use middleware to validate state across reducers Sure the middleware pattern is a great one
Catch and dispatch exceptions from reducers I believe that one shows the clear difference between SAM and Redux. In SAM exceptions can occur both in Actions and Model. The Action exceptions are very easy to reason about (validation, enrichment exception) and can pass a clear exception to the model which ultimately make it's way to the Model. The Model exceptions are also very easy to reason about, in general you are violating some data integrity rules.