LightInject - Derived interfaces leads to multiple instances
<p>In my application I handle lots of ViewModels that get registered inside a LightInject Container via several Interfaces. Some of those Interfaces are derived from other for UnitTesting purposes. </p>

<p>When resolving multiple ViewModels with the same Interface that is an interface further above I get more ViewModelinstances than expected. </p>

<p>I made a simplified example for this behavior. Is it possible to prevent this behavior somehow?</p>

<pre><code>using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
public interface IBar
{
}

public interface IFoo : IBar
{
}

public class Cat : IFoo
{
}

class Program
{
    static void Main(string[] args)
    {
        var container = new LightInject.ServiceContainer();

        container.Register&lt;IBar, Cat&gt;();
        container.Register&lt;IFoo, Cat&gt;();

        var m = container.GetAllInstances(typeof(IBar));

        // m will contain 2 Instances of Cat. Is it possible it will resolve only 1 Instance?
    }
}
</code></pre>

<p>}</p>