Practically speaking, one issue I have is how easy it is to write isinstance or issubclass checks. It has historically been much more difficult to write and maintain a check that something looks like a duck.`if hasattr(foo, 'close') and hasattr(foo, 'seek') and hasattr(foo, 'read'):`Just does not roll off the figurative tongue and that is a relatively simple example of what is required for a duck check.To prevent isinstance use when a duck check would be better,