Everything in Magma is cached, in its current and future form. All processing is done a particle at a time and each operation writes its output to a shared location before being used by the next operation. You should be able to see this caching behavior in every version of Magma already shipped.
I haven’t seen any downsides to this yet, and the only major tomfoolery I foresee with multiple outputs is:
[Flow]
Channel1 -> SomeOperation1 -> Output1
Channel1 -> SomeOperation2 -> Output2 (Where Output1 is writing to Channel1's channel)
Producing different results from:
[Flow]
Channel1 --> SomeOperation1 -> Output1
\-> SomeOperation2 -> Output2
Due to the caching in the second one.
[EDIT] Made it more obvious some operation was being done along each arrow path.[/EDIT]