|
In "Structure and Interpretation of Computer Programs" there is an implementation of cons-cell-lists using closures[1]. Something along the lines of:
If you really want all those type checks, I would use a weak table to keep track of all the functions that are in fact cons-cells.