Libsql-wal is organized as a linked list of segments. Frames are appended to the head segments,
and eventually, the head segment is swapped for a new empty one. The previous head segment is
sealed and becomes immutable. The head segment is represented by the CurrentSegment type, and
the sealed segments by the SealedSegment type.
LibsqlFooter is located at the end of the libsql file. I contains libsql specific metadata,
while remaining fully compatible with sqlite (which just ignores that footer)