Introduction
Category
Examples of Categories
More Examples
Extra Material
Functor
Examples of Functors
More Examples
Natural Transformation
Examples
More Examples
Monad
Monad Examples
More Examples Exception Monad
State Machine Monad
State Machine (cont'd)
Monads in Programming References
Haskell IO 
 For any category C an identity monad can be defined. It consists of an identity functor and identity morphisms.
 Suppose we have a group G. Let's define a monad M_{G} in Set. The monad functor will be like this:
X ↦ X × G.
u(X) : X → X × G maps an element x to a pair (x,e), where e is the group's unit.
M_{G}(M_{G}(X)) = (id_{X},m_{G}), where m_{G} is the group multiplication.
 Lists in Set. For a set X the result of applying the functor, let's call it List, is the set of all lists, (x_{1},x_{2},x_{3}...), including the empty one, of elements of X. This functor becomes a popular monad if we add u and m. Let u_{X} : X → List(X) create a singleelement list for each x∊X. And m_{X}: List(List(X)) → List(X) maps lists of lists to plain lists by flattening them

