Istnieją języki programowania, do wnętrza których wolno określać całą rodzinę podprogramów z jednakową nazwą na rzecz wywołania różnych podprogramów. Do takich języków należą PL/1 także Ada. Nowsze języki umożliwiają zastosowanie takiego mechanizmu przez przyjęcie przeciążenia nazw.
Przykład do wnętrza PL/1:
DCL A GENERIC (PR1 WHEN(FLOAT), PR2 WHEN(CHAR), PR3 WHEN(FLOAT, CHAR), PR4 WHEN(LABEL));
W powyższym przykładzie wywołanie procedury A spowoduje wewnątrz rzeczywistości wywołanie jednej z procedur PR1 .. PR4 wewnątrz układy od czasu argumentów wywołania procedury A.