Hey, The latest streaming operator rework removed the copying of the outputs before passing them to chained operators. This is a major break for the previous operator semantics which guaranteed immutability.
I think this change leads to very indeterministic program behaviour from the user's perspective as only non-chained outputs/inputs will be mutable. If we allow this to happen, users will start disabling chaining to get immutability which defeats the purpose. (chaining should not affect program behaviour just increase performance) In my opinion the default setting for each operator should be immutability and the user could override this manually if he/she wants. What do you think? Regards, Gyula