Multiple dispatch can be used in case of comparison with external libraries, e.g. simple python objects or numpy.

If you have `.equals( )` to compare `a` and `b`, that is `a.equals(b)`, you have to be sure that the first object (`a`) is a sympy object. A multiple dispatched `equals(a, b)` could also act on python numbers or numpy ndarrays (e.g. comparison of sympy matrices with objects in numpy/scipy).