Hi, thanks for sharing this.
This is a known limitation of NCrunch that exists because the tool simplifies coverage down to individual lines, rather than multiple statements per line, as is often done with other coverage tools.
The limitation exists for two reasons:
1. The UI of NCrunch is designed for only line-level resolution. This could be overcome to some extent by splitting the markers (for example, you could have a 'half green' marker), though this is also likely to create different kinds of confusion.
2. It's hard to implement with a tool like NCrunch. I mean, insanely hard. This is because the core engine has extremely tight resource constraints due to the requirement to merge code coverage data from multiple test runs very quickly. Allowing lines of code to have multiple blocks of tracked coverage would require all routines involved to perform a multi-dimensional merge and storage of coverage data. The handling of code coverage in NCrunch is by far the most complex area of the product and introducing such a further dimension of complexity would likely be impossible to maintain without risking serious problems in the coverage handling. Excuses aside, I simply do not yet know how to implement it.