This is really hard to do consistently. Some solvers still let you access the solution, others don’t. Resolving this would mean adding a check to solvers like GLPK so that at every value, dual, or objective_value call, they check if the problem had been modified since the last solve.
This problem keeps coming up, however, so it looks like we might have to.
