>... I find the idea of a function returning >a succession of values to be 'clean', 'aesthetically pleasing' etc -- >i.e reasons hard to rationalise. I've nothing against yield, by the way. Also, this is very hard to do without such a feature, because you need to keep static copies of everything that has changed during the current call. This idea isn't just in Icon. It's in Prolog, too, and probably a number of other "logic" languages (rg Mercury).