* **Objects can be made sortable with `'order=True'` and immutable with `'frozen=True'`.**
* **For object to be hashable, all attributes must be hashable and frozen must be True.**
* **Function field() is needed because `'<attr_name>: list = []'` would make a list that is shared among all instances.**
* **Default_factory can be any [callable](#callable).**
* **Function field() is needed because `'<attr_name>: list = []'` would make a list that is shared among all instances. Argument 'default_factory' can be any [callable](#callable).**
* **For attributes of arbitrary type use `'typing.Any'`.**
#### Inline:
```python
@ -1245,7 +1244,7 @@ class MyCollection:
### Sequence
* **Only required methods are len() and getitem().**
* **Getitem() should return an item at index or raise IndexError.**
* **Getitem() should return an item at the passed index or raise IndexError.**
* **Iter() and contains() automatically work on any object that has getitem() defined.**
* **Reversed() automatically works on any object that has len() and getitem() defined.**
<li><strong>Reduce must be imported from functools module.</strong></li>
<li><strong>Reduce must be imported from the functools module.</strong></li>
</ul>
<div><h3id="anyall">Any, All</h3><pre><codeclass="python language-python hljs"><bool> = any(<collection>) <spanclass="hljs-comment"># Is `bool(el)` True for any element.</span>
<bool> = all(<collection>) <spanclass="hljs-comment"># Is True for all elements or empty.</span>
@ -1035,11 +1035,10 @@ Z = dataclasses.make_dataclass(<span class="hljs-string">'Z'</span>, [<span clas
<ul>
<li><strong>For arbitrary type use <codeclass="python hljs"><spanclass="hljs-string">'typing.Any'</span></code>.</strong></li>
<li><strong>Objects can be made sortable with <codeclass="python hljs"><spanclass="hljs-string">'order=True'</span></code> and immutable with <codeclass="python hljs"><spanclass="hljs-string">'frozen=True'</span></code>.</strong></li>
<li><strong>For object to be hashable, all attributes must be hashable and frozen must be True.</strong></li>
<li><strong>Function field() is needed because <codeclass="python hljs"><spanclass="hljs-string">'<attr_name>: list = []'</span></code> would make a list that is shared among all instances.</strong></li>
<li><strong>Default_factory can be any <ahref="#callable">callable</a>.</strong></li>
<li><strong>Function field() is needed because <codeclass="python hljs"><spanclass="hljs-string">'<attr_name>: list = []'</span></code> would make a list that is shared among all instances. Argument 'default_factory' can be any <ahref="#callable">callable</a>.</strong></li>
<li><strong>For attributes of arbitrary type use <codeclass="python hljs"><spanclass="hljs-string">'typing.Any'</span></code>.</strong></li>
<li><strong>Use <codeclass="python hljs"><spanclass="hljs-string">'fill=<color>'</span></code> to set the primary color.</strong></li>
<li><strong>Use <codeclass="python hljs"><spanclass="hljs-string">'outline=<color>'</span></code> to set the secondary color.</strong></li>
<li><strong>Color can be specified as an int, tuple, <codeclass="python hljs"><spanclass="hljs-string">'#rrggbb[aa]'</span></code> string or a color name.</strong></li>
<li><strong>Use <codeclass="python hljs"><spanclass="hljs-string">'width=<int>'</span></code> to set the width of lines or contours.</strong></li>
<li><strong>Use <codeclass="python hljs"><spanclass="hljs-string">'outline=<color>'</span></code> to set the color of the contours.</strong></li>
<li><strong>Colors can be specified as an int, tuple, <codeclass="python hljs"><spanclass="hljs-string">'#rrggbb[aa]'</span></code> string or a color name.</strong></li>
</ul>
<div><h2id="animation"><ahref="#animation"name="animation">#</a>Animation</h2><div><h4id="createsagifofabouncingball">Creates a GIF of a bouncing ball:</h4><pre><codeclass="python language-python hljs"><spanclass="hljs-comment"># $ pip3 install imageio</span>