inline fun <reified T> single(qualifier: Qualifier? = null, override: Boolean = false, noinline definition: Definition<T>): BeanDefinition<T>