title: Multiple Instances of the Same Type
body: <p>Using StructureMap, let's say I configure a couple of instances for a given interface, identified by names:</p>
  
  <pre><code>registry.For(interfaceType).Add(firstType).Named(firstName);
  registry.For(interfaceType).Add(secondType).Named(secondName);
  registry.For(interfaceType).Use(defaultType);
  </code></pre>
  
  <p>This works well for my needs.  However, in some application scenarios I have cause to override an instance to use the same concrete type as another instance.  So effectively going with something like this:</p>
  
  <pre><code>registry.For(interfaceType).Add(defaultType).Named(firstName);
  registry.For(interfaceType).Add(defaultType).Named(secondName);
  registry.For(interfaceType).Use(defaultType);
  </code></pre>
  
  <p>In practice, however, it would seem that StructureMap then uses not just the same type, but the same instance.  So there is exactly <em>one</em> instance of <code>defaultType</code> in memory, which the container supplies for any named request.</p>
  
  <p>Is there a way to tell it to construct and use separate instances even when they're the same concrete type?</p>