pub(crate) fn set_var(&mut self, id: IdentId, val: Value) -> Option<Value> {
        match &mut self.var_table {
            Some(table) => table.insert(id, val),
            None => {
                let mut table = FxHashMap::default();
                let v = table.insert(id, val);
                self.var_table = Some(Box::new(table));
                v
            }
        }
    }
Set `val` for `id` in variable table. <br>
Return Some(old_value) or None if no old value exists.
ruruby/src/value/rvalue.rs