 - After the call to `const z = append(x, y)`, `tail(x) = ["b", null]`. Since `append` creates a new copy of `x` with the elements of `y`.  - After the call to `const w = append_mutator(x, y)`, `tail(x) = ["b", ["c", ["d", null]]]`. Since `append_mutator` sets the tail of the last pair of `x` to `y`.
const z = append(x, y),tail(x) = ["b", null]. Sinceappendcreates a new copy ofxwith the elements ofy.const w = append_mutator(x, y),tail(x) = ["b", ["c", ["d", null]]]. Sinceappend_mutatorsets the tail of the last pair ofxtoy.