sS dm_moduleByNameFragment(S name) { new Best best; for (S id : dm_listModuleIDs()) { S m = dm_moduleName(id); int score = 0; if (swic(m, name)) score = 2; else if (cic(m, name)) score = 1; if (score > 0) best.put(id, score); } ret best!; }