esatto la prova col print l’avevo fatta anch’io
e anche qui mi confermi la mia prima ipotesi quindi 
questo ero fuori strada, nel senso, credevo che isinstance facesse parte di RCommon
e quindi ero andato a controllare in quella guida, non credevo che facesse parte di Python
per questo poi successivamente avevo ipotizzare che oltre a comparare, avesse anche un’altra funzione.
ricapitolando a questo punto, il ciclo è semplice:
si va a prendere tutti gli elementi Children in radiobuttonlist
poi usa isinstance per prendere solo determinati elementi
ed in fine con Text filtra i valori dalla lista per disabilitarli.
quindi non vedo il perché non sono riuscito ad escludere il ciclo
ps avevo anche provato ad mettere rb.Enabled = False dopo il for escludendo i due if
i radiobuttonlist vengono tutti disabilitati come nell’esempio del codice, ma credo che
in questo caso venga disabilitato tutto radiobuttonlist e non ogni singola opzione.
mah non vorrei che centrasse l’istanza della parola self. . .
edit:
oppure l’arcano si nasconde in Children
questo è quello che mi restituisce il print di radiobuttonlist.Children:
<Eto.Forms.Container+<get_Children>d__10 object at 0x000000000000002C [Eto.Forms.Container+<get_Children>d__10]>
e questo invece è il print di radiobuttonlist.Properties
Dictionary[object, object]({'Control.MouseDown.Instance' : True, 'Control.MouseUp.Instance' : True, <object object at 0x000000000000002D> : <Eto.Forms.DynamicLayout object at 0x000000000000002E [Eto.Forms.DynamicLayout]>, <object object at 0x000000000000002F> : <System.EventHandler`1[[System.EventArgs, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] object at 0x0000000000000030 [System.EventHandler`1[System.EventArgs]]>})
ri-edit:
in Eto.Forms c’é proprio una classe Container che ha la proprietà Children dove spiega questo:
Gets an enumeration of all contained child controls, including controls within child containers
Get: Children(self: Container) → IEnumerable[Control]