function mutate() {}
function cond() {}
function Component(props) {
let a = {};
let b = {};
let c = {};
let d = {};
while (true) {
mutate(a, b);
if (cond(a)) {
break;
}
}
// all of these tests are seemingly readonly, since the values are never directly
// mutated again. but they are all aliased by `d`, which is later modified, and
// these are therefore mutable references:
if (a) {
}
if (b) {
}
if (c) {
}
if (d) {
}
mutate(d, null);
}