Seria interessante que o exercício de duck typing viesse antes da explicação de abstract methods, pois na hora deixa o aluno confuso na hora de entender o que é o duck typing. A implementação prática dos magic methods ficou muito distante da explicação, tive de voltar algumas vezes para entender. Ainda, os métodos abstratos são muito confusos diante da necessidade de importar uma biblioteca built-in.