It'll still be a problem for code that relies on time being 64-bit int of nanoseconds. How do you change the internal representation here without also breaking the API contract for application code?
struct timespec {
time_t tv_sec; /* seconds */
long tv_nsec; /* nanoseconds */
};