This updates the API generation code to allow the same option names to be used in subtype-scoped options. This means if we have attribute structs with the same fields, they won't overwrite each other, but will instead create attribute-specific options.