Nella programmazione funzionale, ogni funziona implementa un’operazione per tutti i tipi di dato disponibile. Questo tipo di approccio consente di centralizzare la gestione delle funzionalità, ma nel momento in cui si ha la necessità di aggiungere un nuovo tipo è necessario modificare tutte le funzioni per la sua gestione.