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...
A stream allows you to generalice the computation, not depending on the number of data items that were available when you defined the function; i.e. not different from a function with a loop.
Applications like AirTable and other modern outliners are exploring interfaces to model that kind of generalized data tables and relations with visual metaphors.
It is really hard to work which sheets/rows/columns/cells are dependent of which other which sheets/rows/columns/cells. And that is before we even get to stuff like:
=FLOOR("5/"&DAY(MINUTE(YYYY/38)/2+56)&"/"&YYYY,7)-34
(and much worse)