For an array type, there are two properties that specify the schemas of array items:
items is a JSON Schema (either object or boolean).
prefixItems is an array of JSON Schema correspond to elements in an array instance.
High-level Schema has Items field with type []*SchemaProxy, but it does not store any of the values of prefixItems. Low-level Schema is similar.
I think confusion would arise if prefixItems are stored in Items and items schema stored as the last element of Items. There would be no way to disambiguate between items being present or absent. So, one recommendation is to define field Items of type *SchemaProxy and field PrefixItems of type []*SchemaProxy.
For an array type, there are two properties that specify the schemas of array items:
itemsis a JSON Schema (either object or boolean).prefixItemsis an array of JSON Schema correspond to elements in an array instance.High-level
SchemahasItemsfield with type[]*SchemaProxy, but it does not store any of the values ofprefixItems. Low-levelSchemais similar.I think confusion would arise if
prefixItemsare stored inItemsanditemsschema stored as the last element ofItems. There would be no way to disambiguate betweenitemsbeing present or absent. So, one recommendation is to define fieldItemsof type*SchemaProxyand fieldPrefixItemsof type[]*SchemaProxy.