title: Return same instance for multiple interfaces
body: <p>I'm registering components with the following code:</p>
  
  <pre><code>StandardKernel kernel = new StandardKernel();
  
  string currentDirectory = Path.GetDirectoryName(GetType().Assembly.Location)
  foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies())
  {
      if (!Path.GetDirectoryName(assembly.Location).Equals(currentDirectory)) 
          continue;
  
      foreach (var type in assembly.GetTypes())
      {
          if (!type.IsComponent()) 
              continue;
  
          foreach (var @interface in type.GetInterfaces())
          kernel.Bind(@interface).To(type).InSingletonScope();
      }
  }
  </code></pre>
  
  <p>Then I have a class which implements two interfaces: </p>
  
  <pre><code>class StandardConsole : IStartable, IConsumer&lt;ConsoleCommand&gt;
  </code></pre>
  
  <p>If I resolve <code>IStartable</code> I get one instance, if I resolve <code>IConsumer&lt;ConsoleCommand&gt;</code> I get another. </p>
  
  <p>How do I get the same instance for both interfaces?</p>