bers.Integral, numbers.Real, RealNotInt}
    The set of numbers in which to set the interval.

    If RealNotInt, only reals that don't have the integer type
    are allowed. For example 1.0 is allowed but 1 is not.

left : float or int or None
    The left bound of the interval. None means left bound is -∞.

right : float, int or None
    The right bound of the interval. None means right bound is +∞.

closed : {"left", "right", "both", "neither"}
    Whether the interval is open or closed. Possible choices are:

    - `"left"`: the interval is closed on the left and open on the right.
      It is equivalent to the interval `[ left, right )`.
    - `"right"`: the interval is closed on the right and open on the left.
      It is equivalent to the interval `( left, right ]`.
    - `"both"`: the interval is closed.
      It is equivalent to the interval `[ left, right ]`.
    - `"neither"`: the interval is open.
      It is equivalent to the interval `( left, right )`.

Notes
-----
Setting a bound to `None` and setting the interval closed is valid. For instance,
strictly speaking, `Interval(Real, 0, None, closed="both")` corresponds to
`[0, +∞) U {+∞}`.
c