Hi,
I have to admit I am not happy with separating the concepts of 'runtime' and 'static' types as implied by pep544.
I am currently exploring a type hint generator that produces hints out of types used in unit tests. It debugs the tests and collects the parameter types of call and return events. It ignores a type when a supertype is present. Failing isinstance/issubclass calls for protocols would hurt there. I understand that any type checker code that could provide isinstance functionality for pep544 protocols would rely on method signatures that my hint generator is just producing.
proof of concept implementation (writes method docstrings, no pep484 type hints yet):
https://github.com/markuswissinger/ducktestpy
This is currently just some personal project that some of you will consider a strange idea.