I'll add some explanation in the source.  Basically, there are three node "types": 1) the frontier, where the decision about which branch to take/prune is being made, the "candidates" which are attached to to frontier and whose kmers are being evaluated, and 3) the "walk" nodes, which are previously visited frontiers and contribute their readids to the decision in the frontier.

`edgeTypeBackToFrontier` is the edge type from the particular candidate represented by this message back to the frontier.
`frontierFlipped` stores whether or not the frontier node is in the same orientation as the `INITIAL_SEARCH_DIRECTION`.