We may need to add a separate phase at the end of compilation that detects when singular injection requests result in multiple candidate bindings. Note that some of these bindings can be added during resolution process and thus can not be detected as we build the object graph.
It is possible that we will need to start representing requests as specific entities that are updated when we autodetect new bindings.
This can not occur as the only time components are added via auto-discovery, which requires that the components be an @Injectable type with default types and qualifier.
We may need to add a separate phase at the end of compilation that detects when singular injection requests result in multiple candidate bindings. Note that some of these bindings can be added during resolution process and thus can not be detected as we build the object graph.
It is possible that we will need to start representing requests as specific entities that are updated when we autodetect new bindings.