Opening drill
When would you use a Protocol instead of an abstract base class in Python? | Aporeon