public bool Collides(Margin margin) => Difference(margin) >= 0;
private double Difference(Margin margin) => Math.Min(End, margin.End) - Math.Max(Start, margin.Start);
public double Overlap(Margin margin) => Math.Max(0, Difference(margin));