The operations on lists are divided into three classes:
For the access functions car and cdr, the accessed heap entries have to be dereferenced because they could have been created by REL in the context of free variables (which were bound later) and then passed to LL. Entries put on the stack have always to be dereferenced in order to avoid unnecessary dereferencing when multiply accessing arguments or local variables. Dereferencing is denoted by .