Small fixes
A selection of 80 fixes from 174 pull requests.
56.An array-valued element
ArrayEnsure confused a single tuple with the outer array. Preserve which branch decoded the input, so [1, 2] becomes [[1, 2]] and round-trips correctly.
1212345456787910return Union([schema, ArraySchema(schema)]).pipe(decodeTo( ArraySchema(toType(schema)),const many = ArraySchema(schema)const to = ArraySchema(toType(schema))const one = decodeTo( Tuple([Unknown]), SchemaTransformation.transform({ decode: Arr.ensure, encode: (array) => array.length === 1 ? array[0] : array decode: (value) => [value] as const, encode: ([value]) => value }))))(schema)return make(Union([one, many]).pipe(decodeTo(to)).ast, { from: Union([schema, many]), to })