fn encode_array<'a>( elems: &mut impl Iterator<Item = Datum<'a>>, dims: &[ArrayDimension], elem_encoder: &mut impl FnMut(Datum<'_>) -> Value, ) -> Value