:: Monoid_a _ => _ a

Look up the previous accumulation
runAccum w look = return (w, w)
runAccum w (look >>= continuation) = runAccum w (continuation w)
Fail the current branch, and prevent backtracking within the nearest enclosing call (if any). Contrast with empty, which fails the current branch but allows backtracking.
cutfail >>= k = cutfail
cutfail <|> m = cutfail
Abort the computation. empty annihilates >>=:
empty >>= k = empty
Retrieve the environment value.
runReader a (ask >>= k) = runReader a (k a)
Get the current state value.
runState a (get >>= k) = runState a (k a)
Lifted version of exitFailure.
>>> exitFailure
*** Exception: ExitFailure 1
Lifted version of exitSuccess.
>>> exitSuccess
*** Exception: ExitSuccess
Lifted version of "System.Exit.exitFailure". @since 0.1.9.0.
Lifted version of "System.Exit.exitSuccess". @since 0.1.9.0.
Lifted version of exitFailure.
Lifted version of exitSuccess.
Use this function when the daemon should terminate normally. It logs a message, and exits with status 0.
O(1) The empty vector.
O(1) Empty vector
Throws a Pending exception, which will cause the test to be marked as pending.
The identity of mplus. It should also satisfy the equations
mzero >>= f  =  mzero
v >> mzero   =  mzero
The default definition is
mzero = empty
The identity of <|>
The identity of <|>
Retrieve the accumulated result so far.
Retrieves the monad environment.