Interval_unixmodule type S_time = sig ... endS_time is a signature that's used below to define the interfaces for Time and Time_ns without duplication.
module Time :
S_time
with module Time := Core.Time_float
and type t = Core.Time_float.t Interval_lib.Interval.tmodule Time_ns :
S_time
with module Time := Core.Time_ns
and type t = Core.Time_ns.t Interval_lib.Interval.tmodule Stable : sig ... endStable is used to build stable protocols. It ensures backwards compatibility by checking the sexp and bin-io representations of a given module. Here it's applied to the Time, and Time_ns intervals.