Надо покрепче подумать о семантике этой структуры.
Структура какая-то "виртуальная" что ли.
Больше похоже не на "структуру данных", а на часть алгоритма.
Ты ещё не дошёл до случая, когда у тебя структура закольцована?
Подход с ::end-of-list на мой взгляд не ляжет потом на какие-нить функи, которые работают с sequence'ами. И тебе придётся какие-то алгоритмы переизобретать, чего не пришлось бы делать, если бы твоей структурой поддерживалась семантика sequence.