Hello everybody and happy new year

I was thinking to RFC the following union:

```
typedef IterableFactory = array | IteratorAggregate;
```

As you know, passing Iterators around is a bad idea because one can
accidentally end up using them concurrently. For example if one entity is
traversing the iterator, and a second entity calls rewind() and fully
traverses the very same iterator, the first entity would try to continue
the traversal from a finished iterator. So in order to avoid this kind of
confusing designs we generally keep iterators as confined as possible -
instead, we pass around "iterator factories" such as `IteratorAggregate`.
However, that doesn't include arrays, which can be safely iterated
concurrently as well. Hence my proposal.

Essentially this is like `Iterable` but excludes `Iterator`.

Thoughts? TY

Reply via email to