Generates target sets (as tuples of indicies) that are compatible with
        the current beliefstate.

def iter_referents_tuples(self):
        """ Generates target sets (as tuples of indicies) that are compatible with
        the current beliefstate."""
        tlow, thigh = self['targetset_arity'].get_tuple()
        clow, chigh = self['contrast_arity'].get_tuple()
        singletons = list([int(i) for i,_ in self.iter_singleton_referents()])
        t = len(singletons)
        low = int(max(1, tlow))
        high = int(min([t,  thigh]))
        for elements in itertools.chain.from_iterable(itertools.combinations(singletons, r) \
                for r in reversed(xrange(low, high+1))):
            if clow <= t-len(elements) <= chigh:
                yield  elements