'od.__iter__() <==> iter(od)'

def __iter__(self):

    (NEXT, KEY) = (1, 2)
    root = self.__root
    curr = root[NEXT]
    while (curr is not root):
        (yield curr[KEY])
        curr = curr[NEXT]
