Type theory
Data types
Functional programming
Functional languages
Subroutines
Type system
Type class
Parameter
Haskell
Software engineering
Computing
Computer programming