The pure functional programming language Haskell implements them utilizing monads, derived from group concept. Monads supply a method to abstract specific varieties of computational styles, including (but not restricted to) modeling of computations with mutable condition (and various side effects for example I/O) in an imperative method without the