docs: def is_in_range(self, values, unit=None, raise_exception=True):
          """Check if a list of values is within physically/mathematically possible range.
  
          Args:
              values: A list of values.
              unit: The unit of the values.  If not specified, the default metric
                  unit will be assumed.
              raise_exception: Set to True to raise an exception if not in range.
          """
          self._is_numeric(values)
          if unit is None or unit == self.units[0]:
              minimum = self.min
              maximum = self.max
          else:
              namespace = {'self': self}
              self.is_unit_acceptable(unit, True)
              min_statement = "self._{}_to_{}(self.min)".format(
                  self._clean(self.units[0]), self._clean(unit))
              max_statement = "self._{}_to_{}(self.max)".format(
                  self._clean(self.units[0]), self._clean(unit))
              minimum = eval(min_statement, namespace)
              maximum = eval(max_statement, namespace)
  
          for value in values:
              if value < minimum or value > maximum:
                  if not raise_exception:
                      return False
                  else:
                      raise ValueError(
                          '{0} should be between {1} and {2}. Got {3}'.format(
                              self.__class__.__name__, self.min, self.max, value
                          )
                      )
          return True