title: Does Haskell require a garbage collector?
body: <p>I'm curious as to why Haskell implementations use a GC.</p>
  
  <p>I can't think of a case where GC would be necessary in a pure language. Is it just an optimization to reduce copying, or is it actually necessary?</p>
  
  <p><strong>I'm looking for example code that would leak if a GC wasn't present.</strong></p>