This is the same change that was made for the YAML output style, but applied to the raw output style.
The problem is the same as before. You have to know about checksums before you can print many other sections, even though checksums might not appear until later. To handle this we create a DebugVisitorState that holds a pointer to the string table and checkums subsection, and the user can specify as much or as little as possible of this. Whatever is not filled out initially will be scanned for before doing the actual visitation with callback invocations. All of this is hidden, so the user just has to call the visitor and it just works