Returning a raw i64 is a bit confusing when it comes to chrono types. For example, in the addrman fuzz tests, the time_penalty is not a time point, but a duration.
Also, all call-sites assume second resolution right now, so document that better by returning NodeSeconds from ConsumeTime(...) and std::chrono::seconds from ConsumeDuration(...).