'Maps the state.se."func" function for all the return address states. This is a generator.
:param func: the function name, used as getattr(p.state.se, func). Normally any_n_int or any_n_str
:param runs: the maximum number of runs to execute
:param solutions: check only returns with this value as a possible solution
:param sort: sort the result before yielding it
Other *args and **kwargs are passed to the called state.se.* function.
yields (r, func_return) for each state.'

def map_se(self, func, *args, **kwargs):

    runs = kwargs.pop('runs', None)
    solution = kwargs.pop('solution', None)
    extra_constraints = kwargs.pop('extra_constraints', ())
    sort = kwargs.pop('sort', True)
    for (r, p) in self.iter_returns(runs=runs, solution=solution):
        v = getattr(p.state.se, func)(extra_constraints=(extra_constraints + ((r == solution),)), *args, **kwargs)
        (yield (r, (sorted(v) if sort else v)))
