add comparable operators and set-car/cdr!