I've been trying to work out a number of things before joining this discussion. But rather than delay further, I'd like to toss in some of my thoughts:
1. Can attributes be dynamic? That is, can they change. (I think the answer is yes.) 2. Are operations meant to be performed atomically?
3. If a request for the same attribute is repeated within a single operation, and if the attribute is dynamic, and if the attribute changes during the course of the operation, and if the server returned a value for each request of the same attribute, should the attribute values returned be allowed to be different?
4. Are there sensible use cases for the same dynamic attribute being requested within a single operation, where it is desirable to return more than one "value" should the value change during the calculation of the result set?
I'm leaning towards support for returning a copy of the result for each request. I have two reasons for this: 1) I think it's simpler to implement; and 2) I think there may be valid use cases for dynamic attributes that change during the course of an operation.
-- John Leiseboer