In [[id:9e68d422-cced-4177-96d1-90f777b9a493][Software Development]], this refers to an [[id:10eb4672-19ab-4275-a110-5446c96e7e24][Applicative Functor]] that provides a
method for applyling a function taking a bare value and returning a wrapped
value to a value already wrapped in that same type.
In [[id:9ac78677-2602-4a06-af0a-4ed82e98a9b6][Haskell]], the function to do this is called *bind*, and is available as the
infix operator ~>>=~. This method is useful for sequentially applying functions
which generate values wrapped in a Monad, abstracting away logic between each
sequential application. This behavior leads some people to refer to Monads as
"programmable semicolons", referring to imperative, C-like languages in which
each line of code is terminated with a semicolon and executed in sequence.
Haskell's "do notation" provides syntactic sugar for codifying such sequences.