// returns comments static LS gazelle_proposeVarDiscriminators(ai_gazelle_analyzeStatementsForRule_Data data) { LS discriminators = ll(f isInteger); new LS out; varLoop: for (S var : data.usedVars) { Pair> p = gazelle_goodAndBadValuesForVariable(data, var); if (nempty(p.a) && nempty(p.b)) for (S discriminator : discriminators) pcall { if (scoreDiscriminator(discriminator, p).allCorrect()) { out.add(format("var " + quote(var) + " should satisfy *", discriminator)); continue varLoop; } } } ret out; }