Structs

Traverse the CoverageGraph and add either a Counter or Expression to every BCB, to be injected with CoverageSpans. Expressions have no runtime overhead, so if a viable expression (adding or subtracting two other counters or expressions) can compute the same result as an embedded counter, an Expression should be used.
Manages the counter and expression indexes/IDs to generate CoverageKind components for MIR Coverage statements.