static Set aiUsing_set = synchroTreeSet(); static S aiUsing(S s) { aiUsing_set.addAll(aggressivelyCollectPossibleGlobalIDs(s)); ret s; } static void aiUsing(O o) { // TODO } static L aiUsing(L l) { for (O li : unnull(l)) aiUsing(li); ret l; } static Lisp aiUsing(Lisp l) { if (l != null) { aiUsing(l.head); for (Lisp sub : l) aiUsing(sub); } ret l; } static void aiUsing_print() { aiUsing_print(null); } static void aiUsing_print(L priorityConcepts) { //print("\nAI concepts used: " + aiUsing_set); print("\nAI concepts used: "); dumpConcepts2(findAIConcepts(prioritizeList(aiUsing_set, priorityConcepts))); }