title: Cannot implicitly convert List<T> to Collection<T>
body: <p>This is a compiler error (slightly changed for readability).</p>
  <p>This one always puzzled me. FxCop tells that this is a bad thing to return <code>List&lt;T&gt;</code> and classes that are derived from <code>Collection&lt;T&gt;</code> should be preferable as return types.</p>
  <p>Also, FxCop says that it is OK to use <code>List&lt;T&gt;</code> for internal data storage/manipulation. Ok, I get it, but what I don't get is why the compiler complains about trying to implicitly convert <code>List&lt;T&gt;</code> to <code>Collection&lt;T&gt;</code>. Isn't <code>List&lt;T&gt;</code> more interface-charged and functional? Why prohibit implicit conversion?</p>
  <p>And another question that stems from above: is the <code>new List&lt;int&gt;(some collection&lt;int&gt;)</code> constructor expensive?</p>