There was a reason we implemented this two years ago, but it feels weird to have a re-implemented a type in the standard library; this confuses external contributors (should we use this object or not?)
The reason was probably to support negative Durations in the timestamp handling code (i.e. it is more a "relative time" struct), but maybe it should be confined there.