implement set-car! and set-cdr!