The Range object already exists in Rust. Instead of reimplementing the functionality, we can just extend such that we can add the needed functionality, which for now is just theoverlaps function.
Also, depending on how the crate is shaped, we will need to use either Range or RangeInclusive, where the latter represents a range that is inclusive on both ends: