This is more a curiosity question than an issue.
RegisterAll enables constructor injection with a IEnumerable<Service> parameter, but not a Service parameter. I'm sure you have good reason to do this and I'd love to know why.
I read the previous discussion
and I wonder if it could be tied.
I discovered from another project that other IoC containers (Autofac, Ninject, and StructureMap) prefer inject all instances of a service via an array parameter. I'm very familiar with Simple Injector and it would be nice if its behavior could be "compatible".
In fact, this other project is developed with this behavior in mind, so I can't change the parameter type for an IEnumerable in place of arrays.
As a consequence, the registration in Simple Injector is a bit more complicated because I have to register these objects with a delegate.
Thank you for this top product. I use Simple Injector in almost all my projects.