**Bug Report** I'm getting a false positive from the following example ```python from typing import Protocol from typing_extensions import Self class P(Protocol): # Removing the property makes the problem disappear @property def x(self) -> int: ... def clone(self) -> Self: ... class A: def clone(self) -> Self: return self class B(A, P): @property def x(self) -> int: return 100 ``` ``` main.py:18: error: Definition of "clone" in base class "A" is incompatible with definition in base class "P" [misc] ``` Obviously, `A.clone` does not actually clone the instance, but that is left out for clarity. The false positive is not reported when I remove the property `x` from the protocol `P`. **To Reproduce** https://mypy-play.net/?mypy=latest&python=3.12&gist=fe15d8bc18aa7b61feb3e56fce615f47