title: Constraint vs Parameter - way to force collection as parameter
body: <p>I am wondering if there is any difference between these two methods. Second one look more natural, but that shouldn't be the only reason to use it. Maybe there are some performance issues or some diabolic mambojambo related to any of them?</p>
  
  <pre><code>void FirstMethod&lt;T&gt;(T a) where T : IEnumerable&lt;Animal&gt;
  {
      ...
  }
  
  void SecondMethod&lt;T&gt;(IEnumerable&lt;T&gt; a) where T : Animal
  {
      ...
  }
  </code></pre>