A SyntacticSugar used in the HaskellLanguage to make use of monads (OnMonads) easier. Instead of writing code like this:
m1 >>= \x -> m2 >>= \y -> return (x + y)
do x <- m1 y <- m2 return (x + y)