docs: def bound_symbols(self):
          """Set of Sympy symbols that are eliminated by evaluation."""
          if self._bound_symbols is None:
              res = set()
              self._bound_symbols = res.union(
                  *[sym.free_symbols for sym in self._vals.keys()])
          return self._bound_symbols