Use the Multibinder extension
But... you'll have to use a Set and not a List.
Also, before starting, note that while Multibinder is an extension, it's been integrated in the main Guice artifact for a few releases already.
Create a common static method like this:
public static LinkedBindingBuilder<SomeType> bindSomeTypeSetElement(Binder binder) {
return Multibinder.newSetBinder(binder, SomeType.class).addBinding();
}
I'm telling you to write such a method because it'll be easier to find the binding definition afterwards, and if you want to change SomeType to OtherType, it'll be easier done in one method. Finally, if you want to change the binding (to use an annotation for identification, for instance), it's also easier.
Now in the modules you want to bind this, just write the following code in your configure methods:
import static path.to.SomeTypeBinder.bindSomeTypeSetElement;
public void configure() {
bindSomeTypeSetElement(binder()).toInstance(new ConcreteType());
bindSomeTypeSetElement(binder()).to(SecondConcreteType.class);
bindSomeTypeSetElement(binder()).toProvider(new ThirdConcreteTypeProvider());
}