pub fn replace<'a, T, U, V>(expr: T, old: U, new: V) -> ExprNode<'a>where T: Into<ExprNode<'a>>, U: Into<ExprNode<'a>>, V: Into<ExprNode<'a>>,