> Only other edge case is if someone takes a 2024-02-29 timestamp and modify the year part, without using date library to do so.
Date library does not help here, for example, both Python and Java's date library [0][1] have only "days" in their timedelta/Duration constructor. Month and year are ambiguous. What would you do if you want someone's birthday this year? The most obvious way:
birthday: datetime.date
birthday_this_year = birthday.replace(year=datetime.date.today().year)
is just broken. The second line throws.[0] https://docs.python.org/3/library/datetime.html#datetime.tim...
[1] https://docs.oracle.com/javase/8/docs/api/java/time/Duration...