what is time borrowing (latch) ? why does latches support it?