rather than add this here, why not add an `exclude` parameter to `numbered_constants` and then in `get_new_constants` you can collect the symbols that should be sent for the `exclude` parameter:

```
exclude = eq.atoms(Symbol) if not iterable(eq) else set.union(*[i.atoms(Symbol) for i in eq])
g = numbered_constants(..., exclude=exclude)
...
```