Create an empty interval set.
Add a labeled interval (if not present) to this set, if it does not conflict with existing intervals.
Labeled intervals conflict if:
For example, if this set is { "A"=[0,10), "B"=[20,30) },
low end of the interval, inclusive
high end of the interval, exclusive, must be greater than start
label to add
an IntervalConflictError if label is already in this set and its interval is not [start,end), or if an interval in this set with a different label overlaps [start,end)
Get the interval associated with a label in this set, if any.
the label
the interval associated with label in this set, or undefined if none
Get the labels in this set.
the labels in this set
An implementation of IntervalSet.
PS2 instructions: you must use the provided rep. You may not change the spec of the constructor.