title: How do you know when a variable/property has been closed over?
body: <p>Given an expression like:</p>
  
  <pre><code>Int32 five = 5;
  
  Express(num =&gt; num == five);
  </code></pre>
  
  <p>where <code>Express</code> is something like</p>
  
  <pre><code>void Express(Expression&lt;Predicate&lt;Int32&gt;&gt; predicatesGonnaPredicate)
  {
      ....
  }
  </code></pre>
  
  <p>When parsing the expression above, how would I determine programmatically that five has been closed over? I can think of a ton of hack ways to do it, but what there must be some proper means of identifying this?</p>