class_docstr: Sample from a list of consecutive integers.
  Kept as a placeholder.
  
  :class:`Categorical` is a more general version of this class,
  but this class gives better semantics,
  and is consistent with the old ``randint``.
code: def __init__(
      self, lower: int, upper: int, label: str | None = None
  ) -> None:
      if not isinstance(lower, int) or not isinstance(upper, int):
          raise TypeError("lower and upper must be integers.")
      if lower >= upper:
          raise ValueError("lower must be strictly smaller than upper.")
      super().__init__(list(range(lower, upper)), label=label)
  
imports: from __future__ import annotations
  from .annotation import MutableAnnotation
  from .mutable import LabeledMutable, MutableSymbol, Categorical, Numerical
label_desc: Use image node_id 1 to create a new RandomInteger object from inherited base classes: Categorical with example: obj = RandomInteger(lower, upper, label)