Better tell all those haskell developers to stop stealing the monad pattern from java.
https://github.com/iluwatar/java-design-patterns/tree/master...
And here is a second source if you don't believe me or iluwatar
>In functional programming, a monad is a design pattern that defines how functions, actions, inputs, and outputs can be used >together to build generic types,[1] with the following organization: > > Define a data type, and how values of that data type are combined. > Create functions that use the data type, and compose them together into actions, following the rules defined in the first >step.
https://en.wikipedia.org/wiki/Monad_(functional_programming)