This is something I needed; maybe it will be of use to others.
Dates uses the type
CompoundPeriod to handle additive combinations of distinct time
Day(5) + Minute(25)).
I have made the type iterable, indexible, more robust and added plural period names as a way to get the total number of, say, whole seconds (including Minutes etc.) that a time value holds.
The README shows how it may be useful.