public interface MonadWriter<W, A, MW extends MonadWriter<W,?,MW>>
extends Monad<A,MW>
A Monad that is capable of writing and accumulating state alongside a value, but is not necessarily capable
of simultaneously accessing the state and the value.
Given a lazy instance of this applicative over a mapping function, "zip" the two instances together
using whatever application semantics the current applicative supports.
Given another instance of this applicative over a mapping function, "zip" the two instances together using
whatever application semantics the current applicative supports.
Covariantly transmute this functor's parameter using the given mapping function. Generally this method is
specialized to return an instance of the class implementing Functor.
Given another instance of this applicative over a mapping function, "zip" the two instances together using
whatever application semantics the current applicative supports.
Given a lazy instance of this applicative over a mapping function, "zip" the two instances together
using whatever application semantics the current applicative supports. This is useful for applicatives that
support lazy evaluation and early termination.
Sequence both this Applicative and appB, discarding this Applicative's
result and returning appB. This is generally useful for sequentially performing side-effects.
Sequence both this Applicative and appB, discarding appB's result and
returning this Applicative. This is generally useful for sequentially performing side-effects.