@classmethod
def make_args(cls, expr):
    """
        Return a sequence of elements `args` such that cls(*args) == expr

        >>> Mul.make_args(x*y)
        (x, y)
        >>> Add.make_args(x*y)
        (x*y,)
        >>> set(Add.make_args(x*y + y))
        {y, x*y}

        """
    if isinstance(expr, cls):
        return expr.args
    else:
        return expr,
