Change struct fields to inherit privacy of the struct

See #11522, but the idea is for private structs to have private fields by default, whereas public structs will continue to have public fields by default.