S9 LIB  (tree-copy pair)              ==>  pair
        (tree-copy pair 'with-atoms)  ==>  pair

Create an exact copy of an arbitrary non-cyclic cons structure.
When a second argument is passed to TREE-COPY and that argument
is not #F, then TREE-COPY will copy modifiable leaves of the tree,
too.

(tree-copy '(((a . b) (c . d)) (e . f)))
    ==>  (((a . b) (c . d)) (e . f))

(let* ((tree  (list (string #\A)))
       (tree2 (tree-copy tree))
       (tree3 (tree-copy tree 'with-atoms)))
  (string-set! (car tree) 0 #\X)
  (list tree2 tree3))              ==>  (("X") ("A"))
