An interval of two values with custom boundaries.
@type bound() :: :infinity | number()
@type t() :: %Tint.Interval{ exclude_max: boolean(), exclude_min: boolean(), max: bound(), min: bound() }