Currently a type such as:
{"type" : "array", "prefixItems": [{"type": "string"}], items: {"type": "integer"}}
is encoded as a set of unknowns Set<Unknown> because the array contains elements of different types.
But in the case of a finite prefix with known types, and a tail of items with another type, we could instead produce:
{ proj0: String, tail: Set<Long> }
I.e a record enumerating the prefix elements with the tail of other elements.
Originally posted by @lianah in #89 (comment)
Currently a type such as:
is encoded as a set of unknowns
Set<Unknown>because the array contains elements of different types.But in the case of a finite prefix with known types, and a tail of items with another type, we could instead produce:
I.e a record enumerating the prefix elements with the tail of other elements.
Originally posted by @lianah in #89 (comment)