Currently Container is genericised on a union of the types that the Container can resolve, this is the same generic that is provided to the Binding. If it is instead genericised on the Binding, or the internal unique symbol of the binding, Container construction can have an additional layer of you typesafety.
This same principle can be applied to Module construction.
This may cause a breaking change. Though the in code surface area is limited, because it only affects Module and Container creation.
Currently
Containeris genericised on a union of the types that theContainercan resolve, this is the same generic that is provided to theBinding. If it is instead genericised on theBinding, or the internalunique symbolof the binding,Containerconstruction can have an additional layer of you typesafety.This same principle can be applied to
Moduleconstruction.This may cause a breaking change. Though the in code surface area is limited, because it only affects
ModuleandContainercreation.