function foo(cond) { let a = {}; let b = {}; let c = {}; while (cond) { let z = a; a = b; b = c; c = z; a |> mutate(%, b); } a; b; c; return a; } function mutate(x, y) {}