fn range_intersection(a: &Range<u64>, b: &Range<u64>) -> Option<Range<u64>>