module Period: sig .. end
A period represents the time passed between two events (a date, a time...).
  Only an interface defining arithmetic operations on periods is defined here.
  An implementation of this interface depends on the kind of an event (see
  module Time.Period, Date.Period and Calendar.Period).
type [ `Day | `Month | `Week | `Year ] 
module type S = sig .. end
Common interface for all periods.