This post has NOT been accepted by the mailing list yet.
In some of use cases, it was about any value (but not necessary random), in others I was strictly about first or last set value. Of course sets theoretically are unordered, but are specified as deterministically ordered, and that's very useful functionality.
With current spec there's no straightforward way to retrieve one item.
Currently to get first item from set, the shortest way is:
var firstSetValue = set.values().next().value;
It's kind of dirty, as we may leave not finalized iterator, but that's probably not an issue for GC of native implementations.
Still, it's even more problematic to get last value, as then we need to iterate over whole set
for (item of set) lastSetValue = item;
Currently I got a use case, where I save opened user payment transactions in a set, and in one place I need to refer to last one. You may say, that I may use array for that, but i totally don't need indexed collection, and arrays are too free form for that (not unique, sparse etc.). Additionally utility I use there, for very valid reason uses sets to maintain such collections.