docs: def endswith(self, other):
          """
          Test if this range ends with `other`. `other` may be either range or
          scalar.
  
              >>> intrange(1, 5).endswith(4)
              True
              >>> intrange(1, 10).endswith(intrange(5, 10))
              True
  
          :param other: Range or scalar to test.
          :return: ``True`` if this range ends with `other`, otherwise ``False``
          :raises TypeError: If `other` is of the wrong type.
          """
  
          if self.is_valid_range(other):
              if self.upper_inc == other.upper_inc:
                  return self.upper == other.upper
              else:
                  return False
          elif self.is_valid_scalar(other):
              if self.upper_inc:
                  return self.upper == other
              else:
                  return False
          else:
              raise TypeError(
                  "Unsupported type to test for ends with '{}'".format(
                      other.__class__.__name__))