Yes, it not necessary for now. But as @skirpichev said in https://github.com/sympy/sympy/pull/2723#discussion_r8814081 `e.has(func)` is not always a good strategy to check if a type of function is present in the expression. It might give wrong result if we deal with multivariate functions. I added `Piecewise` in the list of unsupported functions for `infinite_discontinuities`.  https://github.com/hargup/sympy/blob/3a783eb13033c06a6d4f78dd69112ff244b43182/sympy/calculus/singularities.py#L28.