Abstract
Component composition can lead to multiple instances of the same component. Some components can have only one instance loaded at a time, for example, when a unique external resource is used. We give an abstract component language and a type system ensuring the safe instantiation of components. Language features are instantiation, composition and a simple scope mechanism for discharging instances.