This was causing terrible error reports, because the algorithm was incorrectly identifying the constraints.