'While values returns the possible values for any array field, this
function returns the value for a certain index.'

def py__iter__(self):

    if (self.array_type == 'dict'):
        types = set()
        for (k, _) in self._items():
            types |= self._defining_context.eval_node(k)
        for _ in types:
            (yield context.LazyKnownContexts(types))
    else:
        for node in self._items():
            (yield context.LazyTreeContext(self._defining_context, node))
        for addition in check_array_additions(self._defining_context, self):
            (yield addition)
