pub trait Newick {
// Required methods
fn is_duplication(&self, n: usize) -> bool;
fn leaf_names(&self) -> Box<dyn Iterator<Item = &String> + '_>;
fn to_newick(&self, pretty: bool) -> String;
fn name(&self, n: NodeID) -> Option<&String>;
fn name_mut(&mut self, n: NodeID) -> Option<&mut String>;
fn attrs(&self, n: NodeID) -> &Attrs;
fn attrs_mut(&mut self, n: NodeID) -> &mut Attrs;
}