[checker] Fix bug where recursive type could be inferred by copybara-service[bot] · Pull Request #1738 · google/cel-cpp

@jnthntatum @copybara-github

The cycle check during inference had a bug where certain recursive definitions
could be inferred. This would lead to the checker eventually crashing when it
tried to realize a concrete type from the substitution map.

ex. `[optional.none()].map(x, [?x, null, x])`

PiperOrigin-RevId: 817307359