Writer

The Writer monad represents computation that produce a value an write to a shared state.

§createWriter<M extends Monoid<M>>(mc: MonoidDictionary<M>): WriterFunctions<M>

Creates a writer monad from a monoid dictionary.

§tell<A>(w: W): Writer<W, {}>
§listen<A>(w: Writer<W, A>): Writer<W, [A, W]>
§runWriter<W extends Monoid<W>, A>(w: Writer<W, A>): [W, A]