title: What monads can be expressed as Free over some functor?
body: <p>The <a href="http://hackage.haskell.org/packages/archive/free/3.3.1/doc/html/Control-Monad-Free.html#t:Free" rel="noreferrer">documentation for <code>Free</code></a> says:</p>
  
  <blockquote>
    <p>A number of common monads arise as free monads,</p>
    
    <ul>
    <li>Given <code>data Empty a</code>, <code>Free Empty</code> is isomorphic to the <code>Identity</code> monad.</li>
    <li>Free <code>Maybe</code> can be used to model a partiality monad where each layer represents running the computation for a while longer.</li>
    </ul>
  </blockquote>
  
  <p><strong>What other monads are expressible using <code>Free</code>?</strong></p>
  
  <p>I could think only of one more: I believe <code>Free (Const e)</code> is isomorphic to <code>Either e</code>.</p>
  
  <p><strong>Edit: What monads are <em>not</em> expressible using <code>Free</code> and why?</strong></p>