'Remove overlaps from lubridate intervals

I created a set of intervals using lubridate::int_diff but this gives intervals that share boundaries. For example:

2021-09-01 UTC--2021-09-07 UTC 
2021-09-07 UTC--2021-10-10 UTC
2021-10-10 UTC--2021-10-24 UTC
2021-10-24 UTC--2021-11-30 UTC

I would like to get this instead -- intervals without shared boundaries:

2021-09-01 UTC--2021-09-06 UTC 
2021-09-07 UTC--2021-10-09 UTC
2021-10-10 UTC--2021-10-23 UTC
2021-10-24 UTC--2021-11-30 UTC


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source