>...  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).