title: IList<IList<int>> doesn't accept List<List<int>>?
body: <p>List implements IList so I expect IList will accept a List object
  but why IList> doesn't accept List>?</p>
  
  <pre><code>static IList&lt;int&gt; List_1()
      {
          List&lt;int&gt; list = new List&lt;int&gt; { 1,2,3,3,4,5};
  
          return list;
      }
  
      static IList&lt;IList&lt;int&gt;&gt; List_2()
      {
          List&lt;List&lt;int&gt;&gt; parent = new List&lt;List&lt;int&gt;&gt;();
          List&lt;int&gt; list = new List&lt;int&gt; { 1, 2, 3, 3, 4, 5 };
          parent.Add(list);
  
          return parent; //compiler error CS0266
      }
  </code></pre>