fn build_tree<'a>(
tp: &'a TypePtr,
root_idx: usize,
max_rep_level: i16,
max_def_level: i16,
repeated_ancestor_def_level: i16,
leaves: &mut Vec<ColumnDescPtr>,
leaf_to_base: &mut Vec<usize>,
path_so_far: &mut Vec<&'a str>,
)