pub fn expr_depth(expr: &Expr) -> usize
Compute the syntactic depth of an expression (longest path from root to leaf).