title: Good GetHashCode() override for List of Foo objects respecting the order
body: <p><code>EnumerableObject : IEnumerable&lt;Foo&gt;</code></p>
  
  <p>wraps a <code>List&lt;Foo&gt;</code></p>
  
  <p>If <code>EnumerableObject a.SequenceEquals( EnumerableObject b)</code>, then they are equal.</p>
  
  <p>Therefore, a <code>GetHashCode</code> must be implemented. The problem is XORing each element in the list will return the same hash code for any list with all and only the same elements, regardless of order. This is Okay in terms of it working, but will result in many collisions, which will slow down retrieval, etc.</p>
  
  <p>What is a good, fast <code>GetHashCode</code> method for lists of objects that is order dependent?</p>