Added Duration.Infinite and Duration.NegativeInfinite to prevent over/underflow problems