Tox - Some structs and functions to work with dates, times, periods, and intervals

@LostKobrakai good point and exactly before I get ready this post:

The awkward sites of Tox.
The function adds sound associative, but it isn’t.

iex> ~D[2020-03-30] |> Tox.Date.add(month: 1)
~D[2020-04-30]
iex> ~D[2020-03-31] |> Tox.Date.add(month: 1)
~D[2020-04-30]
iex> ~D[2020-03-31] |> Tox.Date.add(month: 1) |> Tox.Date.add(month: 1)
~D[2020-05-30]
iex> ~D[2020-03-31] |> Tox.Date.add(month: 2)
~D[2020-05-31]

This example is from the talk “Exploring Time” by Eric Evans mentioned by @wojtekmach in his post CalendarInterval - Functions for working with calendar intervals .