bug fixes for aliasing - works for ids and car/cdr