import operator
from functools import reduce


def tupsum(*args):
    """Adds any number of tuples together as if they were vectors.
    """
    def tupsum_(tuple1, tuple2):
        if len(tuple1) != len(tuple2):
            raise ValueError('Tuples must be of same length to be summed')
        return tuple(map(operator.add, tuple1, tuple2))
    return reduce(lambda x, y: tupsum_(x,y), args)