def product(self):
    """
    Multiplies all the elements together, consuming the iterator.

    **Examples**

        :::python

        assert it((1, 2, 3)).product() == 6
        assert it((-1, 2, 3)).product() == -6
    """
    return self.fold(1, lambda acc, ele: acc(acc._ * ele))