This substitution is just handling substitutions like `sin(x).subs(sin, cos)` so it could read

...`old == self.func and len(self.args) in new.nargs:`