pub trait Renderer<N> {
type Output;
// Required methods
fn width(
&self,
new_node: Option<&N>,
new_parents: Option<&Vec<Ancestor<N>>>,
) -> u64;
fn reserve(&mut self, node: N);
fn next_row(
&mut self,
node: N,
parents: Vec<Ancestor<N>>,
glyph: String,
message: String,
) -> Self::Output;
}