':yield: Tuples containing:
* The name of this token as a string
* The token value
* The token path
* The setter to modify the value'

def iter_setters(self):

    for (k, v) in self.iteritems():
        for (idx, ele) in enumerate(v):
            token_path = (k, idx)
            if self.token_filter(token_path, ele):
                (yield (k, ele, token_path, partial(v.__setitem__, idx)))
