'Returns the product of elements belonging to the same ``FreeGroup``.
Examples
>>> from sympy.combinatorics.free_groups import free_group
>>> f, x, y, z = free_group("x y z")
>>> x*y**2*y**-4
x*y**-2
>>> z*y**-2
z*y**-2
>>> x**2*y*y**-1*x**-2
<identity>'

def __mul__(self, other):

    group = self.group
    if (not isinstance(other, group.dtype)):
        raise TypeError('only    FreeGroup    elements    of    same    FreeGroup    can    be    multiplied')
    if self.is_identity:
        return other
    if other.is_identity:
        return self
    r = list((self.array_form + other.array_form))
    zero_mul_simp(r, (len(self.array_form) - 1))
    return group.dtype(tuple(r))
