We have the minimum amount of fields, like display name, image, lightning addr, bio, then just display things the user wants like pronouns or location or age or whatever
This list would just get massive otherwise and likely have so much contention, and still have interoperability issues when some clients do something with a field and others don't
The issue is that if clients are doing something with a field, it should be listed and upgraded on the NIP.
There are over 30 fields or so that I have seen on Kind 0s that are not listed there. And it is fine. I am not sure what the extra array does that the current field list wouldn't do.
It creates a clear distinction between user-defined fields and protocol fields. User-defined fields are only for display (and only for display in a confined region of the profile), while protocol fields can actually influence the behavior of the account, like set your Lightning address or avatar.
User-defined fields are an amorphous blob the user can do whatever they want with but should not be relied upon in any way, kind of like pronouns.
Right, so if pronouns are just listed as a field when the user visits a profile, it works. But if they are added after each person's name in the feed, then it becomes something else.