Classes can not be closed unless they are embedded.
But consider this: if you merge assemblies A and B, you have to compile them before the merger. When they were compiled, internal methods of each were not available for the other. Therefore, in the combined code may be a method which causes internal methods other assembly.
Is not it better that by combining the internal assembly, it was necessary to make sensitive to this application does not use the application in which they were combined?
How will it work? If a top-level type was closed, he would not be available for any other types. So you can not identify the particular types (if they are not enclosed in a different type).
Assume that in the assembly A is C, and D classes, where C is the internal, and D is some method of class C. When a class C becomes closed (in some versions hypothetical CTS, where possible), a class D interrupted.
phoog source share