scope ai_antiWordCategoriesWithElements. static TimedCache>>> #cache = new TimedCache(f ciMap, 10.0); // language -> category -> words static Map> ai_antiWordCategoriesWithElements() { Map>> languages = cache!; Map> map = languages.get(ai_language()); if (map == null) languages.put(ai_language(), map = make()); ret map; } static Map> #make() { final Map> wordCategories = ciMap(); for (S cat : mL("All " + ai_language() + " word categories")) putIfValueNempty(wordCategories, cat, combinedMechSetsCI(ai_antiMechListNamesForAngleBracketCategory(cat))); ret wordCategories; } end scope