commons chrono.time

---
Compute the duration between two timestamps. Returns positive when
the second timestamp is after the first.
---
fn Timestamp.diff(self, later: Timestamp) -> Span {
  Span.unsafe(later.raw - self.raw)
}

---
Add a duration to a timestamp, producing a new timestamp.
Returns None if the result would be negative (before epoch).
---
fn Timestamp.add(self, delta: Span) -> Option[Timestamp] {
  let result = self.raw + delta.raw
  if result < 0 {
    None
  } else {
    Some(Timestamp.unsafe(result))
  }
}
