Algebras in Haskell
The importance of taking advantage of mathematical laws when programming