Overpowering your Duck

While type-annotating your Python code, at some stage you might have felt that for a certain object in a given scope, you are not so much interested in its type as you are in its behaviour.

You don't really mind if it's a Duck, a Goose1, or even a PersonDisguisedAsADuck, you (and your program) only care about its ability to .quack().

What could you do to support static type checking in this case?

more ...