const TracePoint &front() const { assert(!empty()); return static_cast<const TraceDelta *>(chronological_list.GetNext())->point; }
TraceDelta &GetFront() { assert(!empty()); return *static_cast<TraceDelta *>(chronological_list.GetNext()); }