`isinstance` on `runtime_checkable` `Protocol` has side-effects for `@property` methods

from typing import Protocol, runtime_checkable

@runtime_checkable
class X(Protocol):
   @property
   def myproperty(self): ...

class Y:
   @property
   def myproperty(self):
      raise RuntimeError("hallo")

isinstance(Y(), X)

This is an issue, for example, if myproperty is an expensive call, has unwanted side effects, or excepts outside of a context manager