This adds some F# range arithmetic which is needed for comparing mutant spans.
Now, the F# part is basically reimplemented C# TextSpan math. There are common parts and we technically could extract some common code, but my experimentation showed it's not going to be better. The reasons are:
there are already too many abstraction in the Stryker code base and my brain hurts
F# range type is filepath-aware so range construction would look different and would require some wrappers
range math, like any math, is not really a subject to change, and we're not expecting other lang-specific impls either
Part of this PR.
This adds some F# range arithmetic which is needed for comparing mutant spans.
Now, the F# part is basically reimplemented C#
TextSpan
math. There are common parts and we technically could extract some common code, but my experimentation showed it's not going to be better. The reasons are:range
type is filepath-aware so range construction would look different and would require some wrappers