(iter arg)
  arg: an iterable
  returns an iter

Constructs an iterator over a collection.

The result depends on the type of arg:

Nothing prevents arg from being mutated during iteration. This is memory-safe, but it may cause the iterator to behave unpredictably.

When an iterator is passed to iter, the result is an alias for arg. Calling iter-next! for the result will also advance the original iterator. To create a non-aliasing copy of an iterator, call clone instead.