Frank D. Engel, Jr. wrote:
Consider that it might be nice, though, to split those into separate units for a different reason: the file might be very large.
For example, what if I create an opaque type, say "Color", and another opaque type, say "ColorSystem". For simplified management, I may choose to place each of these in a different source file, even though they should obviously depend on resources in each other's domain.
I don't see why it simiplifies management, but if you think so, why not simply use include files within one unit?
Separate compilation can't be the issue, since with circular references, a change in one unit requires reocmpilation of all.
Frank