def __call__(self, values):
values = product(values, self._map)<EOL>for value in map(self._mapped_func, filter(self._cmp_filter, values)):<EOL><INDENT>if isinstance(value, tuple) and len(value) == <NUM_LIT:2>:<EOL><INDENT>yield value<EOL><DEDENT>else:<EOL><INDENT>try:<EOL><INDENT>if isinstance(value, dict):<EOL><INDENT>for __ in value.items():<EOL><INDENT>yield __<EOL><DEDENT><DEDENT>else:<EOL><INDENT>for __ in value:<EOL><INDENT>yield __<EOL><DEDENT><DEDENT><DEDENT>except TypeError:<EOL><INDENT>continue<EOL><DEDENT><DEDENT><DEDENT>
Runs through each value and transform it with a mapped function.