pub fn with_explanations_enabled(mut self) -> Self {
        if self.explain.is_some() {
            return self;
        }
        if self.total_size() > 0 {
            panic!("Need to set explanations enabled before adding any expressions to the egraph.");
        }
        self.explain = Some(Explain::new());
        self
    }
/// Enable explanations for this `EGraph`.
/// This allows the egraph to explain why two expressions are
/// equivalent with the [`explain_equivalence`](EGraph::explain_equivalence) function.
Enable explanations for this `EGraph`.
This allows the egraph to explain why two expressions are
equivalent with the [`explain_equivalence`] function.
Enable explanations for this ` EGraph ` . This allows the egraph to explain why two expressions are equivalent with the [ ` explain_equivalence ` ] function .
pub fn with_explanations_enabled(mut self) -> Self {
        if self.explain.is_some() {
            return self;
        }
        if self.total_size() > 0 {
            panic!("Need to set explanations enabled before adding any expressions to the egraph.");
        }
        self.explain = Some(Explain::new());
        self
    }
pub fn with_explanations_enabled ( mut self ) -> Self { if self . explain . is_some ( ) { return self ; } if self . total_size ( ) > 0 { panic ! ( " " ) ; } self . explain = Some ( Explain :: new ( ) ) ; self }
Enable explanations for this `EGraph`.
Enable explanations for this ` EGraph ` .
mut self
mut self