title: Using Linq to objects, ToDictionary method not satisfying type requirement
body: <p>I need to pass a variable of type <code>IDictionary&lt;Guid, IEnumerable&lt;Guid&gt;&gt;</code> into a method.  When I use the following code:</p>
  
  <pre><code>var userGroupDictionary = _selectedUsers.ToDictionary(u =&gt; u.UserGuid, u =&gt; u.GroupUsers.Select(gu =&gt; gu.Group.GroupGuid).ToList());
  </code></pre>
  
  <p>I get the following error:</p>
  
  <pre><code>cannot convert from System.Collections.Generic.Dictionary&lt;System.Guid,System.Collections.Generic.List&lt;System.Guid&gt;&gt;' to 'System.Collections.Generic.IDictionary&lt;System.Guid,System.Collections.Generic.IEnumerable&lt;System.Guid&gt;&gt;'
  </code></pre>
  
  <p>When I iterate through my collection it works however:</p>
  
  <pre><code>var userGroupDictionary = new Dictionary&lt;Guid, IEnumerable&lt;Guid&gt;&gt;();
  foreach (var user in _selectedUsers.Where(user =&gt; !userGroupDictionary.ContainsKey(user.UserGuid)))
  {
      userGroupDictionary.Add(user.UserGuid, user.GroupUsers.Select(gu =&gt; gu.Group.GroupGuid).ToList());
  }
  </code></pre>
  
  <p>Any ideas what's going on?  Is the compiler unable to tell that <code>Dictionary&lt;Guid, List&lt;Guid&gt;&gt;</code> satisfies <code>IDictionary&lt;Guid, IEnumerable&lt;Guid&gt;&gt;</code></p>