I would not from my experience... anyway, I see your point and it's still ok for me because I can check the iteration number outside of this function. In that case, a variable name `converged` is misleading. We should change it to something like `critical_failure`, which can mean that simulation should be stopped. Accordingly, documentation of `solve()` needs to be changed.