@classmethod
def new(cls, poly, func, auto=True):
    """Construct new ``RootSum`` instance."""
    rational = cls._is_func_rational(poly, func)
    if not rational or not auto:
        return cls._new(poly, func, auto)
    else:
        return cls._rational_case(poly, func)
