def add_protocol_members(typ: TypeInfo) -> None: members = set() # type: Set[str] if typ.mro: for base in typ.mro[:-1]: # we skip "object" since everyone implements it if base.is_protocol: for name in base.names: members.add(name) typ.protocol_members = sorted(list(members))