def __call__(self, arg): seq = self.what(misc.flatten(arg)) return functools.reduce(lambda x, y: x | y, seq)
def __call__(self, arg): try: r = [self.what(value) for value in misc.flatten(arg)] return r if self.return_type is None else self.return_type(r) except (TypeError, ValueError) as ex: raise type(ex)("illegal item in sequence: %s" % str(ex))