class
	INTERVAL [G -> ABSOLUTE]

General
	cluster: time
	description: "Intervals between absolute values"
	create: make

Ancestors
	PART_COMPARABLE
	PART_COMPARABLE

Queries
	infix ">=" (other: [like Current] INTERVAL [G]): BOOLEAN
	infix ">" (other: [like Current] INTERVAL [G]): BOOLEAN
	infix "<=" (other: [like Current] INTERVAL [G]): BOOLEAN
	infix "<" (other: [like Current] INTERVAL [G]): BOOLEAN
	after (v: G): BOOLEAN
	before (v: G): BOOLEAN
	duration: DURATION
	empty: BOOLEAN
	end_bound: G
	gather (other: [like Current] INTERVAL [G]): [like Current] INTERVAL [G]
	has (v: G): BOOLEAN
	includes (other: [like Current] INTERVAL [G]): BOOLEAN
	intersection (other: [like Current] INTERVAL [G]): [like Current] INTERVAL [G]
	intersects (other: [like Current] INTERVAL [G]): BOOLEAN
	is_equal (other: [like Current] INTERVAL [G]): BOOLEAN
	is_included_by (other: [like Current] INTERVAL [G]): BOOLEAN
	is_met_by (other: [like Current] INTERVAL [G]): BOOLEAN
	is_overlapped_by (other: [like Current] INTERVAL [G]): BOOLEAN
	is_strict_included_by (other: [like Current] INTERVAL [G]): BOOLEAN
	meets (other: [like Current] INTERVAL [G]): BOOLEAN
	out: STRING
	overlaps (other: [like Current] INTERVAL [G]): BOOLEAN
	start_bound: G
	strict_after (v: G): BOOLEAN
	strict_before (v: G): BOOLEAN
	strict_includes (other: [like Current] INTERVAL [G]): BOOLEAN
	union (other: [like Current] INTERVAL [G]): [like Current] INTERVAL [G]

Commands
	make (s, e: G)
	set_end_bound (e: G)
	set_start_bound (s: G)

Constraints
	start bound exists
	end bound exists
	start bound before end bound
	current intersection
	current union
	has bounds
	between bound