writer is:exact

writer (a,w) embeds a simple writer action.
Construct a writer computation from a (result, output) pair.
Construct a writer computation from a (result, output) pair.
Construct a writer computation from a (result, output) pair. (The inverse of runWriter.)
Construct a writer computation from a (result, output) pair. (The inverse of runWriter.)
Like write but uses the experimental Refold API. Internal
Pretty print the supplied argument and write the resultant text to stdout. This will pass the detected terminal width to the render function, resulting in appopriate line wrapping when rendering your value.
Construct a writer computation from a (result, output) pair.
Construct a writer computation from a (result, output) pair. (The inverse of runWriter.)
writer @tag (a, w) lifts a pure writer action (a, w) to a monadic action in an arbitrary monad m with capability HasWriter. Appends w to the output of the writer capability tag and returns the value a.