Tim Peters writes:
Every suggestion here so far has satisfied that, if S is a non-empty set,
assert next(iter(S)) is first(S)
succeeds. That is, `first()` is _defined_ by reference to iteration order. It's "the first" in that order (hence the name).
The problem I'm concerned with is that sometimes users' definitions of words differ from a computer language's definitions of words. That's why I used the word "natural", which doesn't really have much to do with the way a computer language defines things, but frequently features in human thought. Whether that potential difference matters here is an empirical question. Theoretically, I can say "Explicit is better than implicit." I.e., the call to 'iter' tells us exactly what order is being used. That's *my* opinion in this case, and I don't hold *you* to it just because I'm quoting you. (I am amused, though.) Steve