úÎðþ     Safe ÿA representation of a bounded interval. This covers all of the possible interval types, including one that starts but has no end, one that ends but has no start, one that is bounded, and one that is exact. Inclusiveness flags are included for both the start and the end. Build an interval make a closed interval [l,u] .make a left-open, right-closed interval (l,u] /make a left-closed, right-open interval [l, u) make an open interval (l, u) 5make an interval consisting of precisely one element make an empty interval make an interval from a listJMaking an interval from a single value [15] yields the singleton interval.ˆMaking an interval from a longer list of values [a, b, c, ..., d] will build a closed interval containing all of the values in the list. žreturn the "head" of an interval. If the interval is empty, return Nothing. Return the starting element if that is present, and the ending element otherwise. 1Is this an empty or self-contradictory interval? ¡This monoid instance defines the rules for combining two different intervals, and it handles all interval combination types. The end result follows these rules:cIf either interval is completely empty (mempty), it the one that is not will be returned unchanged.GIf both have a start time, the resulting start time will be the lowest.DIf both have an end time, the resulting end time will be the latest.¯If one does not have a start time, the resulting start time will be the other ones. If neither has a start time, there will be no start time. Similar rules for the end time.¿For both start and end times, the inclusivity flag for the chosen time will be the one returned. If the two times are the same, the inclusive flag will True if either inclusive flag is True.    5555     +ld-intervals-0.1.0.0-4tplidhBsr765ixQN0LZvJLuminescentDreams.Data.IntervalIntervalstartendinterval<=..<=<..<=<=..<<..< singletonemptyfromList intervalHeadnullmember$fMonoidInterval$fFunctorInterval$fShowInterval