withUnionTypeIds
This field, with typeIds declared explicitly on every union in its tree — 0 until childCount.
Only for schemas bound for an Arrow Java consumer. Absent typeIds already means positional, so the fields XTDB stores are correct without them, and declaring them there would grow every Arrow file we write — shifting log offsets, and tx-ids with them. Arrow Java can't read its own absent form back off the wire, though: its IPC reader rebuilds it as int[0], which DenseUnionVector.registerNewTypeId then indexes (#5863, apache/arrow-java#414).