title: What does "Cannot evaluate expression because the code of the current method is optimized." mean?
body: <p>I wrote some code with a lot of recursion, that takes quite a bit of time to complete. Whenever I "pause" the run to look at what's going on I get: </p>
  
  <blockquote>
    <blockquote>
      <p>Cannot evaluate expression because the code of the current method is optimized.</p>
    </blockquote>
  </blockquote>
  
  <p>I think I understand what that means. However, what puzzles me is that after I hit step, the code is not "optimized" anymore, and I can look at my variables. How does this happen? How can the code flip back and forth between optimized and non-optimzed code?</p>