Completing the Language
payoff-var-storage

The payoff -- variable storage from the Zig interpreter, now valid in both languages:

var var_names: [256]i64 = undefined;
var var_values: [256]i64 = undefined;
var num_vars: i64 = 0;

fn setVar(name: i64, val: i64) i64 {
    for (0..num_vars) |i| {
        if (streq_mem(var_names[i], name) == 1) {
            var_values[i] = val;
            return 0;
        }
    }
    var_names[num_vars] = name;
    var_values[num_vars] = val;
    num_vars += 1;
    return 0;
}

Same arrays, same for loop, same +=, same indexing. Compiles under both.