(Each component consists of a view, a model and an update function, the model contains wrapped versions of the children models and dispatched updates get passed into the children updates)
Classic example: if you have a notification bubble near the top of the page, and a notification gets created by some component hidden deep inside the app structure, that message can't be handled in a local sub-model; it must travel all the way to the root node to update the notification bubble stack in the main model.
(Which is why nowadays I prefer to skip the nesting and just have a flat list of all messages in the app. With good spacing and naming, it's quite maintainable and just as solid.)
F(f_1(x_1), f_2(x_2), …, f_n(x_n))
The root function is a collection of projections acting on (x_1, x_2, …).
And the components receive the right set of coordinates to act on.
I’m not sure if it’s clearer that way though.