class
	TIME_DURATION

General
	cluster: time
	description: "Durations of time"
	create: make_by_seconds, make_fine, make_by_fine_seconds, make

Ancestors
	DOUBLE_MATH
	DURATION
	TIME_MEASUREMENT

Queries
	infix ">=" (other: [like Current] TIME_DURATION): BOOLEAN
	infix ">" (other: [like Current] TIME_DURATION): BOOLEAN
	infix "<=" (other: [like Current] TIME_DURATION): BOOLEAN
	infix "<" (other: [like Current] TIME_DURATION): BOOLEAN
	infix "-" (other: [like Current] TIME_DURATION): [like Current] TIME_DURATION
	infix "+" (other: [like Current] TIME_DURATION): [like Current] TIME_DURATION
	prefix "-": [like Current] TIME_DURATION
	prefix "+": [like Current] TIME_DURATION
	canonical: BOOLEAN
	fine_second: DOUBLE
	fine_seconds_count: DOUBLE
	fractional_second: DOUBLE
	hour: INTEGER
	Hours_in_day: INTEGER
	is_equal (other: [like Current] TIME_DURATION): BOOLEAN
	is_negative: BOOLEAN
	is_positive: BOOLEAN
	is_zero: BOOLEAN
	minute: INTEGER
	Minutes_in_hour: INTEGER
	second: INTEGER
	seconds_count: INTEGER
	Seconds_in_day: INTEGER
	Seconds_in_hour: INTEGER
	Seconds_in_minute: INTEGER
	time_default_format_string: STRING
	time_modulo_day: [like Current] TIME_DURATION
	to_canonical: [like Current] TIME_DURATION
	to_days: INTEGER
	Zero: TIME_DURATION

Commands
	fine_second_add (s: DOUBLE)
	hour_add (h: INTEGER)
	make (h, m, s: INTEGER)
	make_by_fine_seconds (s: DOUBLE)
	make_by_seconds (s: INTEGER)
	make_fine (h, m: INTEGER; s: DOUBLE)
	minute_add (m: INTEGER)
	second_add (s: INTEGER)
	set_fine_second (s: DOUBLE)
	set_fractionals (f: DOUBLE)
	set_hour (h: INTEGER)
	set_minute (m: INTEGER)
	set_second (s: INTEGER)

Constraints
	fractionals large enough
	fractionals small enough
	fractional and second same sign
	equal signs