The Object Teams programming model [1] has been developed to advance our capability to write modular programs. A central concept in this programming model is the notion of teams - instantiable classes - that serve as a container for nested classes. This nesting is stronger than it is in languages like Java, because the type system applies the concept of family polymorphism [2], so all nested classes are actually dependent classes: classes that depend on the enclosing instance. As nested classes can again be teams there are no limits to nesting.
['Stephan Herrmann']
Confined roles and decapsulation in object teams: contradiction or synergy?