Obtendo unidade para resolver várias instâncias do mesmo tipo

Eu quero fazer uma simples resolução de vários tipos de registros (em última instância, o construtor é injetado, mas usando o .Resolve para ver se o Unity é capaz de fazer isso.

Em todos os casos abaixo, Unity resolve 0 itens onde deveria estar resolvendo 2.

Existe alguma mudança na unidade que ativa o comportamento pós-2007? Ou eu estou apenas perdendo algo drasticamente?

Aqui está o meu código:

public interface IFoo {}
public class Foo1 : IFoo{}
public class Foo2 : IFoo{}

class Program
{
    static void Main(string[] args)
    {
        var container = new UnityContainer();
        container.RegisterType<IFoo, Foo1>();
        container.RegisterType<IFoo, Foo2>();

        // container.Resolve<IEnumerable<IFoo>>();   returns 0
        // container.ResolveAll<IFoo>(); returns 0

        var foos = container.Resolve<IFoo[]>();
        Console.WriteLine(foos.Count());

        Console.ReadLine();

    }
}

questionAnswers(1)

yourAnswerToTheQuestion