sclass SimpleFactStore implements IFactStore { L facts = synchroList(); sclass Fact extends HasGlobalID { long created = now(); S text; *() {} *(S *text) {} toString { ret text; } } public void store(S fact) { if (!hasWhereIC(facts, fact)) facts.add(new Fact(fact)); } public void deleteAll(IPred filter) { for (Fact f : cloneList(facts)) if (filter.get(f.text)) facts.remove(f); } LS facts() { ret map(facts, f -> f.text); } }