static Pair generalDefinitions_remove(S word, S def) { if (empty(word) || empty(def)) ret pair(false, "Empty"); L> defs = mechMultiMapPairsCI(generalDefinitions_listName()).get(word); new SS globalIDs; for (Pair p : defs) if (eqic(dropGlobalID(p.b), def)) globalIDs.put(getAppendedGlobalID(p.b), dropGlobalID(p.b)); if (empty(globalIDs)) ret pair(false, "Definition not there"); for (S id, text : globalIDs) { addToMechMap(generalDefinitions_listName(), litmap(word, appendGlobalID("[invalidate " + id + " / " + text + "]"))); } ret pair(true, "Definition removed " + n2(globalIDs, "time") + ": " + word + " = " + def); }