 
 // MARK: -
 
+/// The Minute is physical number representing an Earth minute.
+/// Minute structs conform to SwiftAA Numeric type protocol.
 public struct Minute: NumericType, CustomStringConvertible {
+    
+    /// The Minute value
     public let value: Double
+    
+    /// Returns a Minute struct initialized to contain the given value.
+    ///
+    /// - Parameter value: The value for the new Minute.
     public init(_ value: Double) {
         self.value = value
     }
     
+    /// Transform the current Minute value into Days.
     public var inDays: Day { return Day(value / (24.0 * 60.0)) }
+    /// Transform the current Minute value into Hours.
     public var inHours: Hour { return Hour(value / 60.0) }
+    /// Transform the current Minute value into Seconds.
     public var inSeconds: Second { return Second(value * 60.0) }
+    /// Transform the current Minute value into Degrees.
     public var inDegrees: Degree { return Degree(value / 60.0 * 15.0) }
+    /// Transform the current Minute value into Julian Days (convenient for easily making operations with Julian Day fractions).
     public var inJulianDays: JulianDay { return JulianDay(value / 1440.0) }
     
-    /// Returns self reduced to 0..<60 range
+    /// Returns a Minute whose value is reduced to the 0..<60 range.
     public var reduced: Minute { return Minute(value.positiveTruncatingRemainder(dividingBy: 60.0)) }
     
+    /// The standard description of the Hour
     public var description: String { return String(format: "%.2f min", value) }
 }
 
 // MARK: -
 
+/// The Second is physical number representing an Earth second.
+/// Second structs conform to SwiftAA Numeric type protocol.
 public struct Second: NumericType, CustomStringConvertible {
+    
+    /// The Second value
     public let value: Double
+    
+    /// Returns a Second struct initialized to contain the given value.
+    ///
+    /// - Parameter value: The value for the new Second.
     public init(_ value: Double) {
         self.value = value
     }
     
+    /// Transform the current Second value into Days.
     public var inDays: Day { return Day(value / (24.0 * 3600.0)) }
+    /// Transform the current Second value into Hour.
     public var inHours: Hour { return Hour(value / 3600.0) }
+    /// Transform the current Second value into Minute.
     public var inMinutes: Minute { return Minute(value / 60.0) }
+    /// Transform the current Second value into Degrees.
     public var inDegrees: Degree { return Degree(value / 3600.0 * 15.0) }
+    /// Transform the current Second value into Julian Days (convenient for easily making operations with Julian Day fractions).
     public var inJulianDays: JulianDay { return JulianDay(value / 86400.0) }
     
-    /// Returns self reduced to 0..<60 range
+    /// Returns a Second whose value is reduced to the 0..<60 range.
     public var reduced: Second { return Second(value.positiveTruncatingRemainder(dividingBy: 60.0)) }
     
+    /// The standard description of the Second
     public var description: String { return String(format: "%.2f sec", value) }
 }
 

        }
    }

    /// Returns self reduced to 0..<24 range
    public var reduced: Hour { return Hour(value.positiveTruncatingRemainder(dividingBy: 24.0)) }
    /// Returns self reduced to -12..<12 range (around 0)
    public var reduced0: Hour { return Hour(value.positiveTruncatingRemainder(dividingBy: 24.0)-12.0) }
    
    public var description: String {
        let (sign, hrs, min, sec) = self.sexagesimalNotation
        return sign.string + String(format: "%ih%im%06.3fs", hrs, min, sec)

        self.init(Double(sign) * (absHour + absMinutes + absSeconds))
    }
    
    /// Transform the current Hour value into Days.
    public var inDays: Day { return Day(value / 24.0) }
    /// Transform the current Hour value into Minutes.
    public var inMinutes: Minute { return Minute(value * 60.0) }
    /// Transform the current Hour value into Seconds.
    public var inSeconds: Second { return Second(value * 3600.0) }
    /// Transform the current Hour value into Degrees.
    public var inDegrees: Degree { return Degree(value * 15.0) }
    /// Transform the current Hour value into Julian Days (convenient for easily making operations with Julian Day fractions).
    public var inJulianDays: JulianDay { return JulianDay(value / 24.0) }
    
    /// Returns a sexagesimal representation of the hour.
    public var sexagesimalNotation: SexagesimalNotation {
        get {
            let hrs = abs(value.rounded(.towardZero))
