In 3.6.0, invocation of isinstance calls typing._ProtocolMeta._get_protocol_attrs. This creates a set of all attributes in all base classes, loops on these attributes to check they exist, and discards ...