inline fun <reified T : Any> Injector.getInstance() = getInstance(T::class.java)!!
fun <T : Any> supply(javaClass: Class<T>): Source<T> = object : Source<T> {
override fun fromInstance(instance: T) = Module { it.bind(javaClass).toInstance(instance) }
inline fun <reified T : Any> Injector.getInstance() = getInstance(T::class.java)!!
fun <T : Any> supply(javaClass: Class<T>): Source<T> = object : Source<T> {
override fun fromInstance(instance: T) = Module { it.bind(javaClass).toInstance(instance) }