例えば、ヒープを8バイト(セル2つ分)単位で確保して、

#define CAR(a) (*(a))
#define CDR(a) (*((a)|4))
みたいなマクロが定義されている場合、

仮に
car 部がアドレス 0x12345670 に配置されて、
cdr 部がアドレス 0x12345674 に配置されるとして、

その cdr の cdr はどうするのさ?とか、
(#define CDR(a) (*((a)+4)) なら、まだ納得できるけど・・・)

つか、上のような8バイト単位でメモリを切り取っていく
意味が良く分かっていないと思う(メモリの圧縮(=節約)の為
だという事ぐらいは分かるのだが)。