+#[derive(Clone, Copy, Debug, PartialEq, Eq)]
+#[cfg(feature = "std")]
+pub struct MonotonicTime(std::time::Instant);
+
+/// The amount of time to shift `Instant` forward to prevent overflow when subtracting a `Duration`
+/// from `Instant::now` on some operating systems (e.g., iOS representing `Instance` as `u64`).
+#[cfg(feature = "std")]
+const SHIFT: Duration = Duration::from_secs(10 * 365 * 24 * 60 * 60); // 10 years.
+
+#[cfg(feature = "std")]
+impl Time for MonotonicTime {