hon. Bei BinaryNode müssen wir vor allem aufpassen, dass wir nicht über None iterieren – None versteht nicht das Iterator-Protokoll (warum wohl?), und wir würden einen AttributeError kriegen, wenn wir die Iteration probieren würden.
def __iter__(self): yield self for node in [self.left, self.right]: if node is not None: for child in node: yield child