They should live in the same abstraction layer that does leap days and daylight savings: the time zones.
They should live in the same abstraction layer that does leap days and daylight savings: the time zones.
The point is that it's weird that we handle a day every 4 years off in a different way to a couple of second being off.
The notable differences are that
1) the leap second happens at the same time globally (23:59:60 UTC), while leap days start at 00:00 local time
2) leap seconds happen at irregular intervals
3) leap seconds are nearly universally implemented wrong, because the ability to show :60 on a second display for for one second at most twice per year is just not worth the implementation complexity
You could argue about 1, but the alternative would lead to much more complicated timezone math (time zones can be an additional one second apart from each other depending on whether the leap second is already applied) for very limited benefit. Number 2 seems unavoidable, and 3 is entirely unintended, just the way things have worked out in real life
We can imagine a system where leap days are split into mean and variance: This would look like a council coming together every thousand years to decide if that year will have a leap day or not, but otherwise we follow the pattern.
We can also imagine a system where leap seconds are split into mean and variance: Many years from now when the Earth is notably slower, there's a guaranteed leap second every odd month, and sometimes there's an extra leap second in June.