Is your feature request related to a problem or challenge? Please describe what you are trying to do.
pub fn from(plan: &LogicalPlan) -> Self {
Self { plan: plan.clone() }
The from method takes a LogicalPlan reference, then does clone internally.
Describe the solution you'd like
It would be better to take an owned value and let the caller handle the clone if needed.