title: How to check if two Expression<Func<T, bool>> are the same
body: <p>Is it possible to find out if two expressions are the same? </p>
  
  <p>Like given the following four expressions:</p>
  
  <pre><code>        Expression&lt;Func&lt;int, bool&gt;&gt; a = x =&gt; false;
          Expression&lt;Func&lt;int, bool&gt;&gt; b = x =&gt; false;
          Expression&lt;Func&lt;int, bool&gt;&gt; c = x =&gt; true;
          Expression&lt;Func&lt;int, bool&gt;&gt; d = x =&gt; x == 5;
  </code></pre>
  
  <p>Then, at least <em>we</em> can see that:</p>
  
  <ul>
  <li><code>a == b</code></li>
  <li><code>a != c</code></li>
  <li><code>a != d</code></li>
  </ul>
  
  <p>But can I do anything to find this out in my code? </p>
  
  <p>Took a peek in the msdn library, where it says that</p>
  
  <blockquote>
    <p><code>Equals</code>: Determines whether the specified Object is equal to the current <code>Object</code>. (Inherited from <code>Object</code>.) </p>
  </blockquote>
  
  <p>which I guess means that at least the Expression class hasn't overrided the equals method to become Equatable? So how would you do this? Or am I asking too much here? :p</p>