// triples of (name, action, module ID) static L> dm_universalSearchData() { new L> out; for (O m : dm_listModules()) pcall { L> result = (L) quickImport(callOpt(m, 'uSearchData)); if (nempty(result)) { S id = dm_moduleID(m); for (Pair p : takeFirst(3, result)) out.add(t3(p.a, p.b, id)); } } ret out; }