This story is simplified from an attempt to write an AST walker for a toy compiler, but the essential facts are unchanged. I am fairly new to Rust (but an experienced C++ programmer) and have been trying to pick up Rust recently. This evening I spent a miserable hour trying to write a function to map an FnMut over a binary tree. I started with a simple tree definition, and try to write what seems to me to be the straightforward code: use std::rc::Rc; #[derive(Debug)] enum Tree { Leaf(i32), No...