message: (chore): with_description context constructor, fixed pop return value
diff: @@ -15,6 +15,13 @@ impl Context {
  }
  }
  + pub fn with_description(description: &str) -> Self {
  + Self {
  + description: description.to_string(),
  + nodes: vec![],
  + }
  + }
  +
  pub fn is_empty(&self) -> bool {
  self.nodes.len() == 0
  }
  @@ -31,11 +38,18 @@ impl Context {
  });
  }
  - pub fn pop(&mut self) {
  + pub fn pop(&mut self) -> String {
  if self.is_empty() {
  panic!("Error: tried to pop an item from an empty Context stack");
  }
  - let _ = self.nodes.pop();
  + let node = self.nodes.pop().unwrap();
  + let info = if node.node_info.eq(&String::from("")) {
  + String::from("")
  + } else {
  + format!(" >> {}", node.node_info)
  + };
  +
  + format!("{}: {}{}", node.node_item, node.node_type, info)
  }
  pub fn context_to_string(&self) -> String {
  