__init__ Called on creation; sets up attributes.
__str__ Human-readable string; called by print().
__repr__ Developer string; called in the REPL.
__eq__ Defines == between objects.
__lt__ Defines <; enables sorting.
__hash__ Needed for use as dict key or in a set.
__add__ Defines + operator.
__len__ Defines len(obj).
__contains__ Defines in operator.