If I understand correctly, 'time-utc->date' should never return a date
object with 60 in the seconds field, because those extra seconds have no
representation in time-utc. They only have representations in time-tai
As I understand it, this is incorrect. UTC days can contain either 86400 or 86401 seconds (or in principle a different number), depending on whether the day has a leap second. It is *Posix* time, not UTC time, that contains a fixed number of seconds per day, or more accurately that assigns a label from 0 to 864399 to the seconds of a day, and can assign the same label to more than one second (or in principle could assign one or more labels to no second) on a leap-second day. Consequently, a broken-down time can indeed return 60 in the seconds field, but only for a UTC clock, never for a Posix clock.
This error is repeated in a number of your later messages, but I'll respond only to this one.
Tautology is something that is tautological. --Francois-Rene Rideau