Tempo - a unified time type that models time as interval sets, not instants

Awesome library. I’ve been waiting for this one for a couple years myself.

One thing:

japan       = ~o"2018-05-01/2019-03-31[Asia/Tokyo]"
enrolled    = ~o"2018-09-30/2020-06" # Different from date to your example.

{:ok, both} = Tempo.intersection(japan, enrolled)
{:ok, #Tempo.IntervalSet<[~o"2018Y5M1D/2019Y3M31D"]>} # does not seem to have the correct interval.

I believe the interval there is not correct for the given inputs.