This function takes as input two sequences of ranges and returns a sequence which contains the sum of the input ranges. The returned sequence of ranges is well-formed but, in contrast to the function andRangesPair(), the inputs are not required to be well-formed. NOTE however that the same considerations re pointer deallocation also apply here.
function orRangesPair(rangesA, rangesB) result(oredRanges) type(RangeT), intent(in) :: rangesA(:), rangesB(:) type(RangeT), pointer :: oredRanges(:) end function orRangesPair