മുകളിൽ പറഞ്ഞ ടൈപ്പ് മാറ്റങ്ങൾ നേടിയെടുക്കാൻ പൊതുവെ കമ്പൈലറുകൾ സ്വന്തമായി ചിലത് ഊഹിച്ചെടുക്കണം എന്നു കണ്ടല്ലോ. ഇത് പൊതുവെ അത്ര സുരക്ഷിതമല്ല. കാരണം പലപ്പോഴും പ്രോഗ്രാമർ അറിയാതെ തന്നെ വരുത്തുന്ന ചില തെറ്റുകൾ മൂലം അയാൾ ഉദ്ദേശിയ്ക്കുന്ന ഫങ്ക്ഷനുകൾ അല്ല വിളിയ്ക്കപ്പെടുക. എന്നാൽ ഇത്തരം തെറ്റായ സ്വഭാവങ്ങൾ കണ്ടെത്താൻ പ്രോഗ്രാം ഓടുന്നതു വരെ കാത്തിരിയ്ക്കണം. അതായത് ഇത്തരം തെറ്റുകൾ കണ്ടെത്താൻ കമ്പൈലറിന്റെ ഒരു സഹായവും കിട്ടില്ല എന്നർത്ഥം (ഏതാണ്ട് കമ്പൈലറിനെ പറ്റിച്ചാണല്ലോ പോളിമോർഫിസം നേടിയെടുക്കുന്നത് തന്നെ!). ഇത് കൂടുതൽ ടൈപ്പ്-സേഫ് ആയി നേടിയെടുക്കാൻ സഹായിയ്ക്കുന്ന വിദ്യയാണ് പാരാമെട്രിക് പോളിമോർഫിസം അഥവാ ജനറിക് പ്രോഗ്രാമിങ്. ഇവിടെ പൊതുവായി എഴുതപ്പെട്ട ഒരു ഫങ്ക്ഷനേ കാണൂ. ഇതിലേക്കുള്ള ഡാറ്റ ഒരു പൊതു ടൈപ്പ് ആയി പാസ്സ് ചെയ്യുന്നു. എന്നാൽ ഈ ടൈപ്പിനെ വേണ്ടവിധത്തിൽ ഭേദഗതി വരുത്തി നമുക്കാവശ്യമുള്ള പെരുമാറ്റം നേടിയെടുക്കാവുന്നതാണ്. ഇത്തരം മാറ്റങ്ങൾ കമ്പൈൽ ചെയ്യപ്പെടുന്ന വേളയിൽത്തന്നെ കമ്പൈലർ ഒത്തുനോക്കി ഉപയോഗിയ്ക്കുന്നതുകൊണ്ട് ഇതിന്റെ ടൈപ്പ് സുരക്ഷ വളരെ കൂടുതൽ ആണ്. 

ലിസ്റ്റ് എന്നത് ഇതിന് ഒരുദാഹരണമാണ്. ലിസ്റ്റിൽ ഇടുന്ന ഡാറ്റാ പല തരത്തിൽ പെട്ടതാകാം. അതായത് ലിസ്റ്റിലേക്ക് ഇടുന്ന ഡാറ്റ പല തരത്തിൽ വിവരിയ്ക്കാൻ പറ്റുന്ന ഒരു ടൈപ്പ് ആയിരിയ്ക്കും. എന്നാൽ ലിസ്റ്റിനെ പ്രോഗ്രാം ചെയ്തിരിയ്ക്കുന്നത് ഒരേ തരത്തിലായിരിയ്ക്കും.(പല ടൈപ്പിന് പലതരം ഫങ്ക്ഷനുകൾ ഇല്ല എന്നർത്ഥം. ആഡ് ഹോക്ക് പോളിമോർഫിസം ആണെങ്കിൽ ഓരോ ടൈപ്പിനും ഓവർലോഡ് ചെയ്യപ്പെട്ട ഓരോ ഫങ്ക്ഷൻ കാണും.)

ഫങ്ക്ഷണൽ പ്രോഗ്രാമിങിൽ ഇത് വെറുതെ പോളിമോർഫിസം എന്ന പേരിൽ അറിയപ്പെടുന്നു. താഴെ കൊടുത്തിരിയ്ക്കുന്ന ഹാസ്‌ക്കൽ കോഡ് ഒരു ലിസ്റ്റിനെ പൊതുവായി പ്രോഗ്രാം ചെയ്തിരിയ്ക്കുന്നത് കാണിയ്ക്കുന്നു.:
ഒബ്ജക്റ്റ് ഓറിയന്റഡ് പ്രോഗ്രാമിങ് ഭാഷകളിലും ഇത് വ്യാപകമായി കാണുന്നു. സി++'ൽ ഇത് ടെമ്പ്ലേറ്റ് (template) എന്നറിയപ്പെടുന്നു. സി#'ലും ജാവ'യിലും ജനറിക്സ് (generics) എന്നും:
ഈ ആശയം വ്യാപകമായി ഉപയോഗിച്ച് ഡിസൈൻ ചെയ്യപ്പെട്ടിട്ടുള്ള ഒരു ലൈബ്രറിയാണ് സി++'ലെ സ്റ്റാൻഡേർഡ് ടെമ്പ്ലേറ്റ് ലൈബ്രറി.

ചരിത്രം
വിവിധ തരം പോളിമോർഫിസങ്ങൾ
ആഡ് ഹോക്ക് പോളിമോർഫിസം
പാരാമെട്രിക് പോളിമോർഫിസം