<detailsopen><summary><strong>What exactly is <code><collection></code>?</strong></summary><br>
Collection is my name for an iterable object. An iterable object in Python is any object that has at least one of iter() and getitem() special methods defined. <code><object>.__iter__()</code> returns an iterator of object's items and <code><object>.__getitem__(<index>)</code> returns an item at that index. I chose not to use the name iterable because it sounds scarier and more vague than collection, even though it has a precise definition.<br><br>
<code><iterable></code> should not be confused with abstract base class collections.abc.Iterable. Expression <code>instanceof(<object>, collections.abc.Iterable)</code> only checks if object has iter() special method. <code>instanceof(<object>, collections.abc.Collection)</code> checks for len(), iter() and contains().
<code><iterable></code> should not be confused with abstract base class <code>collections.abc.Iterable</code>. Expression <code>instanceof(<object>, collections.abc.Iterable)</code> only checks if object has iter() special method. <code>instanceof(<object>, collections.abc.Collection)</code> checks for len(), iter() and contains().
</details><br>
<detailsopen><summary><strong>What about PEP 8?</strong></summary><br>