pub fn eval<V: Variable<C>, E: Into<V::Expression>>(&mut self, expr: E) -> V {
        let dst = V::uninit(self);
        dst.assign(expr.into(), self);
        dst
    }
Evaluates an expression and returns a variable.
crates/recursion/compiler/src/ir/builder.rs