@_asvector()
def __add__(self, other):
    return Vector(*[(i + j) for (i, j) in zip(self, other)], smart=self.smart)
@_asvector()
def __add__(self, other):
    return Vector(*[(i + j) for (i, j) in zip(self, other)], smart=self.smart)