`module Time : Core_kernel.Timing_wheel_ns_intf.Timing_wheel_time`
`type t`````
`include sig ... end`
`val compare : t ‑> t ‑> Core_kernel__.Import.int`
`val sexp_of_t : t ‑> Base.Sexp.t`
`include Core_kernel__.Import.Equal.S with type t := t`
`type t`````
`val equal : t Core_kernel__.Import.Equal.equal`
`val of_span : Time.Span.t ‑> t`

- Deprecated [since 2018-01] Use [of_span_floor_pow2_ns]

`val of_span_floor_pow2_ns : Time.Span.t ‑> t`

`of_span_floor_pow2_ns span` returns the largest alarm precision less than or equal to `span` that is a power of two number of nanoseconds.

`val to_span : t ‑> Time.Span.t`
`val one_nanosecond : t`
`val about_one_day : t`

Constants that are the closest power of two number of nanoseconds to the stated span.

`val about_one_microsecond : t`
`val about_one_millisecond : t`
`val about_one_second : t`
`val mul : t ‑> pow2:Core_kernel__.Import.int ‑> t`

`mul t ~pow2` is `t * 2^pow2`. `pow2` may be negative, but `mul` does not check for overflow or underflow.

`val div : t ‑> pow2:Core_kernel__.Import.int ‑> t`

`div t ~pow2` is `t / 2^pow2`. `pow2` may be negative, but `div` does not check for overflow or underflow.

`module Unstable : sig ... end`

The unstable bin and sexp format is that of `Time_ns.Span`, with the caveat that deserialization implicitly floors the time span to the nearest power of two nanoseconds. This ensures that the alarm precision that is used is at least as precise than the alarm precision that is stated.