A monad over a category $\mathcal{C}$ is a triple $(T,\eta,\mu)$, where $T$ is an endofunctor of $\mathcal{C}$, $\eta$ is a natural transformation from the identity functor on $\mathcal{C}$, and $\mu$ is a natural transformations from $T\circ T$ to $T$, such that the following two properties hold:
• $\mu\circ(\mu\circ T)\equiv\mu\circ(T\circ\mu)$
• $\mu\circ(T\circ\eta)\equiv\mathrm{id}_{\mathcal{C}}\equiv\mu\circ(\eta\circ T)$