On Tuesday, 13 March 2018 at 13:08:44 UTC, psychoticRabbit wrote:
It also means the author of the class is no longer free to make
changes, because all the surrounding code in the module needs
to be assessed for impact - this greatly increases the burden
of program correctness and maintenance.
The author of the class could just put it in a separate file. As
is required by Java and a frequent convention in C++ in C# anyway.
If you can't put it in a separate file, it isn't as encapsulated
as you think anyway!