Computer programming
Adjoint functors
Data types
Monad
Type theory
Strong monad
Type class
Haskell
Monoid
Declarative programming
Software engineering
Functional programming