// A == Bool sclass SelectBot extends Concept { new TreeMap examples; new TreeMap guessed; transient S lastMatch; // not used void put(S s, A value) { examples.put(s, value); guessed.remove(s); change(); } A get(S s) { A value = (A) guess_match(s); if (neq(examples.get(s), value)) if (mapPutIfChange(guessed, s, value)) change(); ret value; } }