From the early days on, Simple Injector tried to provide users with a flexible and extendible API. Throughout this process though, flexibility was created that seems to have no appropriate use case, and now has proven to be a limiting factor. These are especially the parts that accept a ServiceType and ImplementationType pair.
Code and tests fixed.
There were still some bugs in the code that made tests fail, while some
tests where redundant or obsolete. fixes #345