Hi,
To tell the truth I've put '+1' for "QVT13-48" issue because I didn't see difficulties in implementing allInstances() in side-effect-free manner. Also I followed remark that "For QVTo, the Model::objectsOfKind() operation should be used to access dynamically created objects". So I didn't pay much attention on possible outcomes from side-effect-free behavior of allInstances() in QVTo.
Now I studied all comments from "QVT13-66".
And the problem I see is that allInstances() wants to have side-effect-free behavior on both 'in' and 'inout' extents. The problem is what to do with objects that were being deleted from 'inout' extent. In order to "returns the same result on every call" allInstances() should return deleted objects and this looks inappropriate.
Looks like allInstances() should either abandon 'side-effect-free' requirement when it operates in QVTo or be executed only on 'in' model extents.
On one hand allInstances() comes from OCL world and its' 'side-effect-free' behavior should be preserved. On the other hand right now I don't see any real case which can prove that if it will behave as 'non-side-effect-free' it will produce unexpected/inappropriate result.
Possibly that issue should be postponed.
Regards,
Sergey.