Die genannten Bedingungen ~„sollten“ gelten. Die Unschönheit, das ganze entweder auf Collection
festpinnen zu müssen, oder Spezialisierungen für Set
, List
& Co anbieten zu müssen, hatte ich schon im Hinterkopf (wobei es eigentlich nur für List
wirklich funktionieren kann - spätestens, wenn die Funktion alles auf das gleiche Element abbildet).
Der Name „Funktor“ ist wohl recht allgemein, und ich denke, zu allgemein für den Vorgang, der hier durchgeführt wird (auch wenn Kategorie-Theorie-Videos immernoch auf meiner TODO-Liste steht ).
Es wird ja aus einer Funktion eine andere gemacht: Aus einer Funktion f(x) = y
wird eine Funktion f(X) = Y
für Elemente x,y aus den (Teil)Mengen X,Y. Im Zweifel werde ich wohl bei forEach
bleiben, aber ich hätte vermutet, dass es dafür einen Begriff gibt, und ich nur zu blöd bin, ihn zu finden…