I think private fields will come in very handy for libraries. Yes, people should not access fields marked as internal/private, but they often do anyway (at least I've seen it often enough) just because it's the easiest way to fix some issue, or to get more control than the library officially offers. And then they complain when upgrading the library version is a PITA...