Generic programming
Type theory
Functional programming
Data types
Parameter
Type class
Haskell
Conditional
Generic function
Software engineering
Computing
Computer programming