function yell3(ops) {
const module = new R.Runtime().module();
for (const l of ops.trim().split("\n")) {
let [monkey, op] = l.split(": ");
const vars = Array.from(op.matchAll(/[a-z]+/g), ([d]) => d);
for (const v of vars) op = op.replace(v, `"+ ${v} + "`);
module
.variable()
.define(
[monkey],
monkey === "humn" ? [] : vars,
monkey === "humn"
? `x`
: monkey === "root"
? (a, b) => `(${a}) - (${b})`
: Function(
vars.join(","),
`return ([${vars}].some(v => typeof v === "string") ? "(${op})" : eval("${op}"))`
)
);
}
return module;
}