title: What is the point of pass and listen in Writer monad?
body: <p>I have been learning about monads in the book <a href="http://learnyouahaskell.com/" rel="nofollow">learnyouahaskell</a>.
  After reading about the writer monad, I decided to check the documentation of the <a href="https://hackage.haskell.org/package/mtl-2.2.1/docs/Control-Monad-Writer-Class.html" rel="nofollow">Control.Monad.Writer.Class</a>.</p>
  
  <p>There I saw that they also implemented the <code>listen</code> and <code>pass</code> functions but I was not able to understand what they are used for. Could someone give me a good example so I can understand how to use <code>listen</code> and <code>pass</code>?</p>