I've been trying to play around with some code to see if I can figure this out. Different combinations of wider vs narrower scopes on the variable-level annotations (than in the @Scope class-level annotation) and injection vs outjection yield different results. I haven't been able to determine what exactly happens in this case.
Is it okay to redeclare a component of the same name under a different scope? If so, what actually happens...?