agree, but if to follow my example, collect returns a and aa for storing
them in the sequence. And I expected, that both will be contained in the
sequence, and not expected, that only the first one (a) is stored while
leaving aa outside sequence. Lazy rule creates all elements as expected,
then it's unclear for me, why happens this effect - maybe I miss something
fundamental about collect/sequence/lazy rule?
It would be interesting to hear Frederic's comment on this