Aile kümesi ve benzer mantık iliskilendirmeleri nasıl yapılır?

Şöyle bir şey yazdım ama daha da geliştirmek için bir ağaç oluşturmamız gerekebilir. (Bir de python 3.8 ile çalıştırmazsanız hata verir)

class Kişi:
    def __init__(self, isim, cinsiyet, **akrabalar):
        self.isim = isim
        assert cinsiyet == "E" or cinsiyet == "K"
        self.cinsiyet = cinsiyet
        self.akrabalar = akrabalar
        self.akrabalar["çocuk"] = set()

    def __getitem__(self, attr):
        return self.akrabalar[attr]

    def __setitem__(self, attr, value):
        assert isinstance(value, Kişi)
        getattr(self, attr)(value)

    def baba(self, baba):
        self.akrabalar["baba"] = baba
        baba.akrabalar["çocuk"].add(self)

    def anne(self, anne):
        self.akrabalar["anne"] = anne
        anne.akrabalar["çocuk"].add(self)

    def çocuk(self, çocuk):
        self.akrabalar["çocuk"].add(çocuk)
        if self.cinsiyet == "E":
            çocuk.akrabalar["baba"] = self
        else:
            çocuk.akrabalar["anne"] = self
            
        if (eş := self.akrabalar.get("eş", None)) != None:
            if eş.cinsiyet == "E":
                çocuk.akrabalar["baba"] = eş
            else:
                çocuk.akrabalar["anne"] = eş

    def eş(self, eş):
        self.akrabalar["eş"] = eş
        eş.akrabalar["eş"] = self
        self.akrabalar["çocuk"] = eş.akrabalar["çocuk"] = eş.akrabalar["çocuk"] | self.akrabalar["çocuk"]
        

    def __repr__(self):
        return self.isim

Ali = Kişi("Ali", "E")
Ayşe = Kişi("Ayşe", "K")
Veli = Kişi("Veli", "E")

Ali["eş"] = Ayşe
Ayşe["çocuk"] = Veli

print(Veli["baba"])