made Span and Range equatable and refactored Span to have non nullable fields