pub trait FlatElement {
// Required methods
fn id(&self) -> usize;
fn parent_id(&self) -> usize;
fn children(&self) -> Option<&Vec<DataCell>>;
fn props(&self) -> Option<&Vec<Prop>>;
fn name(&self) -> Option<&String>;
fn update_children(&mut self, new: Vec<DataCell>) -> Result<(), &str>;
}