Implementing IEnumerable<T> in List<T> derived Collection
<p>I'm getting an error. Here's the code copied across to a Console project and stripped down:</p>

<pre><code>namespace ConsoleApplication1
{
public interface IHexGrid
{ 
    IEnumerable&lt;Hex&gt; hexs { get; } //error related location
}

public class HexC : Hex
{ public int var1;}

public abstract class Hex
{ public int var2; }    

public class HexGridC : IHexGrid //error CS0738
{        
    public List&lt;HexC&gt; hexs { get; set; } // error related location
}    

class Program
{        
    static void Main(string[] args)
    {
    }
}
}
</code></pre>

<p>I'm getting the following: error CS0738: </p>

<pre><code>'ConsoleApplication1.HexGridC' does not implement interface
member 'ConsoleApplication1.IHexGrid.hexs'. 'ConsoleApplication1.HexGridC.hexs' cannot 
implement 'ConsoleApplication1.IHexGrid.hexs' because it does not have the matching 
return type of '`System.Collections.Generic.IEnumerable&lt;ConsoleApplication1.Hex&gt;`'.
</code></pre>

<p>Not sure why as IENumerable is Covariant. Any help much appreciated.</p>

<p>Edit: the code has been simplified</p>
