To solve (2), I think a pattern that plans to modify the input event will have to make its own copy, work on the internal copy, and then if it has to terminate early, return the original event.
I know that means extra garbage to collect, but I don't see another choice. For a long time, I found Pbind hard to work with when I thought its child streams were blind to previously calculated values, and it really became musically useful to me only when I learned how to read the event in progress. If the proposal is to explicitly make the child streams blind, then no, I couldn't agree to it.
I'm okay with some extra garbage if it improves usability.
On Dec 12, 2007, at 8:20 AM, James Harkins wrote:
: H. James Harkins
"Come said the Muse,
Sing me a song no poet has yet chanted,
Sing me the universal." -- Whitman