The package concept allows for the propagation of objects of a subpackage's interfaces, and also of objects of any other usable package interface. For both kinds of propagation the following rules apply:
At a package interface of a package X, individual objects from any package interface that is usable from X can be exposed, provided their original package interface allows their propagation.
It is allowed to expose not only single objects of such an original interface, but to expose its complete contents, provided this original interface is marked as propagatable as a whole:
At the propagating interface, the possible list of usage types for the propagated objects can be kept as it is or it can be restricted further. However, the propagating interface cannot assign additional usage types.