title: Unity behavior for registering the same type twice and resolving only the singleton
body: <p>I've been playing around with Unity to understand it a bit more, and came across the following scenario. If I was to register the same type twice, but with one being a singleton, how can I call <code>Resolve</code> so that only the singleton is returned? I understand that this can be accomplished using a unique <code>Name</code>, but am wondering if this can be done without.</p>
  
  <p>For example:</p>
  
  <pre><code>_container.RegisterType&lt;Music&gt;(new InjectionConstructor(new Album("Non-singleton", "Non-singleton")));
  _container.RegisterType&lt;Music&gt;(new ContainerControlledLifetimeManager());
  </code></pre>
  
  <p>and calling</p>
  
  <pre><code>var music = Factory.Resolve&lt;Music&gt;();
  </code></pre>
  
  <p>returns the 'Non-singleton' object. At first, I thought it was based on registration order, but switching that around I still receive the 'Non-singleton' instance.</p>
  
  <p>Is there a reason for this? Is there a way to <code>Resolve</code> only the singleton type for two registered objects in the same container w/out specifying a <code>Name</code> attribute? </p>