And cdr-coded lists, or sublists, can have vastly improved cache performance, especially when you have a transporting GC.
Also it would be possible to implement such an approach in a C++ list container where you don't need boxing (the content type is known).