@Nonnull
  public <T> T getInstance(@Nonnull Class<T> type) {
    return getInstance(new Key<>(type));
  }
@Test
  public void whenDefaultSpecified_shouldUseSameInstance() throws Exception {
    Thing thing = injector.getInstance(Thing.class);
    assertThat(injector.getInstance(Thing.class)).isSameInstanceAs(thing);
  }