lset-car! and set-cdr!
do what you would expect
lYou can use these,
for instance, to define a destructive
append, where the first list is reused instead
of copied
lThese tend to create
more efficient functions that make the
overall program more complicated due to more
complex sharing
lStrictly, they are
outside the basic notion of functional
programming