title: Partially Shared data structures common lisp
body: <p>Say I wanted to have two lists<code>(setq x '(1 2 3))</code> and <code>(setq y (list 1 (cadr x) 3)</code> but I wanted <code>(cadr y)</code> to actually point to <code>(cadr x)</code>
  so that after <code>(setf (cadr x) 'a)</code> saying <code>(cadr y)</code> would give me <code>A</code> not <code>2</code>. Is there a way to do that? </p>