Agent > Agent_abs_NameToMarker { S marker; O tester; // func(S) -> bool *() {} *(S *marker, O *tester) {} void impl { for (AIConcept c : aiConcepts()) if (isTrue(pcallF(tester, c.name))) emit(marker + " " + c.globalID); } }