Unable to create injector, see the following errors:

1) [Guice/MissingImplementation]: No implementation for Producer<? extends Foo> was bound.

You might be running into a @JvmSuppressWildcards or @JvmWildcard issue.
Consider these options instead (these are guesses but use your best judgment):
    * Inject this: Producer<@JvmSuppressWildcards Foo>
    * Or bind this: Producer<@JvmWildcard Foo> at MissingImplementationErrorKtTest$InjectionHasUnnecessaryExtendsClauseModule.provideProducerOfFoo(MissingImplementationErrorKtTest.kt:52)

Requested by:
1  : MissingImplementationErrorKtTest$InjectionHasUnnecessaryExtendsClauseModule.injectProducerOfFoo(MissingImplementationErrorKtTest.kt:56)
      \_ for 1st parameter unused
     at MissingImplementationErrorKtTest$InjectionHasUnnecessaryExtendsClauseModule.injectProducerOfFoo(MissingImplementationErrorKtTest.kt:56)

Learn more:
  https://github.com/google/guice/wiki/MISSING_IMPLEMENTATION

1 error

======================
Full classname legend:
======================
Foo:                                                                         "com.google.inject.errors.Foo"
MissingImplementationErrorKtTest$InjectionHasUnnecessaryExtendsClauseModule: "com.google.inject.errors.MissingImplementationErrorKtTest$InjectionHasUnnecessaryExtendsClauseModule"
Producer:                                                                    "com.google.inject.errors.Producer"
========================
End of classname legend:
========================
