Is your feature request related to a problem or challenge?
One thing I noticed while working on #9913 with @peter-toth is that keeping track of all the LogicalPlan tree node walking / rewriting is somewhat hard for me (and datafusion/expr/src/logical_plan/plan.rs is getting pretty large).
Describe the solution you'd like
I would like to move all all the code into a single module where we could:
- Find it more easily
- Document the overall treenode walking / rewriting situation
Describe alternatives you've considered
(maybe alongside the impl TreeNode for LogicalPlan) ? Maybe somethign like datafusion/expr/src/logical_plan/tree_node.rs or datafusion/expr/src/logical_plan/apply_visit.rs 🤔
Additional context
See also #9913 (comment)