pub fn substitute(expr: &Expr, name: &str, replacement: &Expr) -> Expr
Apply capture-avoiding substitution: replace name with replacement in expr.
name
replacement
expr