Thank you, I had something like that in mind but couldn’t find the right way. Now, it’s clearer, and the drawbacks too.
So it’s worth the burden to make every record type private from the start. Even if writing getters and setters for every field is not funny when you start writing a package.
Moving the private record in the package body (using a holder) seems also a good idea so that child packages can’t rely on the inner of the record.
Thanks!