title: How does `try` behave in Parsec?
body: <p>In an attempt to figure out how <code>try</code> works in parsec, I put this into ghci:</p>
  
  <pre><code>λ&gt; parse (try $ string "a") "" "b"
  Left (line 1, column 1):
  unexpected "b"
  expecting "a"
  </code></pre>
  
  <p>I'm not exactly sure what I was expecting, but this is not what I was expecting, since I thought the entire purpose of <code>try</code> is to not cause an error when the expected thing isn't there.</p>