What Does Monad Mean?
A monad is an abstract data type constructor that used to represent computations in functional programming. Monads allow application developers to chain actions together to build a pipeline. The monad assigns additional processing rules to each action in the program.
Techopedia Explains Monad
Monadic functions are usually created by a programmer to define a data-processing pipeline, but novice programmers tend to find them very difficult to understand.
A monad is created by defining two operations ("bind" and "return") and a type constructor ("M"). The "return" operation takes a value from a plain type and puts it into a type "M" monadic container. Then, the "bind" operation does the opposite byt extracting the original value from the container and passing it to the associated next function in the pipeline.