fn min_encoded_len_piece( root: &Schema, piece: &SchemaPiece, visited: &mut BTreeSet<usize>, ) -> usize