Я хочу намекнуть, что для B-экземпляра .duplicate_itself(
) возвращает B-экземпляр, а не A-экземпляр.
class A:
def duplicate_itself(self) -> 'WHAT SHOULD I WRITE HERE?'
return self.__class__()
class B(A):
pass
Кстати, я использую PyCharm, поэтому вы можете написать ответ, если вызнать какое-то конкретное решение PyCharm