newtype Reducer state action
A reducer. Note that the initial state in Redux is actually an
newtype ActionVariant (actionRow :: Row Type)
an action variant that is meant to be converted to whatever the user needs. while this form is runtime compatible, users should use libraries like purescript-variant and decode this variant into Variant as needed.
combineReducers :: forall rl actionRow stateRow reducersRow. RowToList reducersRow rl => CombineReducers rl reducersRow stateRow actionRow => Record reducersRow -> Reducer (Record stateRow) (ActionVariant actionRow)
combine reducers from a record of reducers produces a correctly typed state row users are expected to use the action variant as needed
class CombineReducers (rl :: RowList) (row :: Row Type) (state :: Row Type) (action :: Row Type) | rl -> row state action
class to take the rowlist of reducers record passed in and prepare the state record row and a row of actions to be handled