I don't think this is entirely true. Arrays and UDTs can easily have unused elements/members. Standardized UDTs, AOI's may have functionality that may or may not be required pending the process.
For example, a analog input AOI. I built one, and added a weight calculation function. It may or may not be required but it's a feature that could be enabled depending on the analog input and process needs. So, while the UDT base tag is used members of that UDT could go unused, which "generically" speaking the "tag" AnalogInput.Percent might be used but the "tag" AnalogInput.Weight may not be used.
The UDT is technically "used" however not entirely.
We also will create arrays of UDTs as controller-scoped tags. This keeps everything nice and compact, but then alias to other controller-scoped tags or program tags (depending on the function). So it's possible an element of the UDT tag array may or may not be used.
So to me "well-written" means the tag structures are organized, standardized and efficient the trade-off is not everything is used but you have visibility as to what CAN be used, or what functionality COULD be implemented.
I do exactly the same, however, in the context of this discussion, the parent UDT tag is still used when only one member is used, so it doesn't show up in the unused tags filter. Same thing for an array. If you use one element of 1000 point array, the array tag is still used, so again it doesn't show up in the unused filter tag. I have lots of UDTs (MOTOR eg) where only a few members are used depending on application, but the unused filter tag database is still clean and empty.