Singleton instances resolved twice?

If I'm not mistaken `Resolver#resolve` is called twice when a singleton instance is created by the resolver.

All singleton constructors are wrapped with `_wrapConstructor` (which in turn calls context.resolve on the created instance), but `_createAndSetupInstance` also calls context.resolve on the created instance.

If I'm not mistaken the `_wrapConstructor` call for singleton classes could be dropped? I think it only makes sense to have it for View classes, no?