Earlier quoted context omitted.
Complexity, humans are not good at complexity beyond certain levels. One good example of such model is in React + Redux story. Based on single variable your view might have 10/20 changes and to this day I see people debating what is the right way to do it (React hooks vs Redux is latest episode).
In my experience/opinion as a programmer, property-bound state tracking (where you say C = A + B, and changing A or B changes C) is easier to understand than push-based updating of C when you change either A or B. Property binding (FRP?) causes the exact set of values dependent on an input to change when the input changes, with no chance to forget (though you can still forget to register a change callback on C). But…
Streams maintain the same functional reactive execution paradigm of spreadsheets and property bindings, but you can compose several of them into a new stream with complex conditional logic. You can use the streams as event propagators, and understand the program state as a series of successive updates every time a new event appears on the stream.
https://www.didierboelens.com/2018/08/reactive-programming-s...